Nobody ever¹ has had any problems with TechManager 1.5 for 0.90, and
the author hasn't been seen in WEEKS. Since evrything good in the world²
uses TechManager and the Community Tech Tree, here's a compatibility
shim that will install v1.5 for 0.90.
"Why not change the existing metadata?", I hear you ask. Mainly it's
because it's generated by netkan, and if KerbalStuff ever gets
updated, or if the metadata ever gets regenerated, we don't want
anything to break.
Many thanks to Daz for the prompting.
Attentioning @NathanKell, because relevance.
Also, this means I might finally upgrade to KSP 0.90.
¹ Allegedly.
² RP-0
This reverts commit b6f80d8975.
This commit made everyone on IRC cry with the following stack trace:
```
Downloading updates...
Unhandled Exception:
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.SortedDictionary`2[CKAN.Version,CKAN.CkanModule].get_Item (CKAN.Version key) [0x00000] in <filename unknown>:0
at CKAN.AvailableModule+<Latest>c__AnonStorey0.<>m__0 (CKAN.Version v) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1E`1[CKAN.Version].MoveNext () [0x00000] in <filename unknown>:0
at CKAN.AvailableModule.Latest (CKAN.KSPVersion ksp_version) [0x00000] in <filename unknown>:0
at CKAN.Registry+<LatestAvailableWithProvides>c__AnonStorey0.<>m__0 (KeyValuePair`2 pair) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1E`1[System.Collections.Generic.KeyValuePair`2[System.String,CKAN.AvailableModule]].MoveNext () [0x00000] in <filename unknown>:0
at CKAN.Registry.LatestAvailableWithProvides (System.String module, CKAN.KSPVersion ksp_version) [0x00000] in <filename unknown>:0
at CKAN.Registry.Available (CKAN.KSPVersion ksp_version) [0x00000] in <filename unknown>:0
at CKAN.Repo.Update (CKAN.RegistryManager registry_manager, CKAN.KSP ksp, IUser user, Boolean clear, System.Uri repo) [0x00000] in <filename unknown>:0
at CKAN.Repo.Update (CKAN.RegistryManager registry_manager, CKAN.KSP ksp, IUser user, Boolean clear, System.String repo) [0x00000] in <filename unknown>:0
at CKAN.CmdLine.MainClass.Update (CKAN.CmdLine.UpdateOptions options, CKAN.RegistryManager registry_manager, CKAN.KSP current_instance, IUser user) [0x00000] in <filename unknown>:0
at CKAN.CmdLine.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.Collections.Generic.SortedDictionary`2[CKAN.Version,CKAN.CkanModule].get_Item (CKAN.Version key) [0x00000] in <filename unknown>:0
at CKAN.AvailableModule+<Latest>c__AnonStorey0.<>m__0 (CKAN.Version v) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1E`1[CKAN.Version].MoveNext () [0x00000] in <filename unknown>:0
at CKAN.AvailableModule.Latest (CKAN.KSPVersion ksp_version) [0x00000] in <filename unknown>:0
at CKAN.Registry+<LatestAvailableWithProvides>c__AnonStorey0.<>m__0 (KeyValuePair`2 pair) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1E`1[System.Collections.Generic.KeyValuePair`2[System.String,CKAN.AvailableModule]].MoveNext () [0x00000] in <filename unknown>:0
at CKAN.Registry.LatestAvailableWithProvides (System.String module, CKAN.KSPVersion ksp_version) [0x00000] in <filename unknown>:0
at CKAN.Registry.Available (CKAN.KSPVersion ksp_version) [0x00000] in <filename unknown>:0
at CKAN.Repo.Update (CKAN.RegistryManager registry_manager, CKAN.KSP ksp, IUser user, Boolean clear, System.Uri repo) [0x00000] in <filename unknown>:0
at CKAN.Repo.Update (CKAN.RegistryManager registry_manager, CKAN.KSP ksp, IUser user, Boolean clear, System.String repo) [0x00000] in <filename unknown>:0
at CKAN.CmdLine.MainClass.Update (CKAN.CmdLine.UpdateOptions options, CKAN.RegistryManager registry_manager, CKAN.KSP current_instance, IUser user) [0x00000] in <filename unknown>:0
at CKAN.CmdLine.MainClass.Main (System.String[] args) [0x00000] in <filename unknown>:0
```
using `v1.5.6-0-g0000000 (beta)`.
However I don't know *WHY*. Still investigating that, so this commit is
really a hot-fix.
The spec special-cases `1` as a spec version, which is defined as an
integer. However these files contained `1` as a string. My whiny
pedantic validator complains as a result. :)