Started on C# reference implementation
Merge pull request #26 from Wizarth/steam-detect-winnt

Correctly detect Steam path from registry.
Merge pull request #51 from pjf/show_47

`ckan show` no longer dies messily when mod not found.
Merge pull request #1 from pjf/im_in_ur_pr83_changin_ur_files

Fixups for PR #83
Merge branch 'master' into 69_kerbalstuff

`CKAN/CKAN/ModuleInstaller.cs` may need an extra going over for
correctness.

* master: (51 commits)
  Fixed typo in README.md
  Fix help message in cmdline, install -> upgrade.
  Revert whitespace change.
  Allow making dirs in Tutorials, but not GameRoot.
  LatestAvailable throws exceptions once more.
  Gitignore: *.csproj.user
  Not quite.. :)
  Fixed the bug in OnDownloadsComplete
  Removed the spinlock in InstallList
  Added RelationshipResolver.DefaultOpts().
  Implemented 'upgrade' in command-line client
  oops, forgot to fix the command line :)
  added KSP version field to modlist
  fixed the last bug related to updates, they should work fine now
  added some more checks to FilesystemTransaction.Commit, fixed a bug in BundledModule constuctor
  Added GameRoot and GameData to the spec and schema. For #74.
  Made NetAsyncDownloader use transactions so we don't get have broken files in downloads/
  Refactored some of NetAsyncDownloader
  fixed #74 (install files in game root & saves/training), also added overwrite option for files
  small bug fix
  ...

Conflicts:
	CKAN/CKAN.sln
	CKAN/CKAN/ModuleInstaller.cs
Merge remote-tracking branch 'upstream/master'
Merge pull request #95 from pjf/ks2ckanfixes

Added download_size field.
Merge branch 'master' of https://github.com/AlexanderDzhoganov/CKAN
Merge branch '104_gamedata' into 2_github

* 104_gamedata:
  Better stripping of paths on install.
Merge remote-tracking branch 'AlexanderDzhoganov/master' into test_alex

* AlexanderDzhoganov/master:
  Better mod info panel
  Formatting clean-up
  Removed all uses of 'dynamic'
  Implemented a prompt to select KSP folder when we don't find it automatically
  Added Nullref checks to everything in _UpdateModInfo()
  Refactored some code out of Main.cs
  Some GUI layout changes
  Mod contents preview now works
  Fixed KerbalStuff to use ModuleInstaller.Instance
  ModuleInstaller is now a singleton
  new settings window layout
  Fixed https://github.com/KSP-CKAN/CKAN/issues/93
  Fix whitespace on PR #96.
  Add `download_size` field.
  ks2ckan now fills in author info.
  Fixup CrewFiles path in BootKAN.
  First working copy of the BootKAN!

Conflicts:
	CKAN/CKAN.sln
	CKAN/CKAN/Module.cs
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
merged with master
Merge branch '90_test_ksp' into 125_fixups

NB: KSP.DetectVersion changed to *static*, as it uses no object data,
and this is how it's used in master.

* 90_test_ksp:
  Populated GameData in test dir to make git happy.
  Added tests for IsKspDir() and test data.
  Test framework organisation overhaul.
  Fix verson detection and validation of KSP gamedir

Conflicts:
	CKAN/CKAN/KSP.cs
	CKAN/Tests/Test.cs
Merge pull request #163 from pjf/128_install_from_cmdline

Allow installation of CKAN files from cmdline.
Merge branch '166_tweaks' into code_health

* 166_tweaks:
  GetModuleContentsList() now calls GenerateDefaultInstall()
  Throw TransactionalKrakens on double commit/rollback.
  FilesystemTransaction: Dispose of our scope before nulling it.
  Rename TransactionalFilesystem to FilesystemTransaction
  Well.. with a few minor tweaks
  This should work now :)
  Added '.NET TransactionalFileManager' to packages

Conflicts:
	CKAN/CKAN/CKAN.csproj
Merge branch '141_dll_trouble' into 179_file_locking

* 141_dll_trouble:
  Don't register DLLs which are part of an installed mod.
  Registry.InstalledVersion now reports provided modules.
  Registry.Installed() now returns provided modules as well.
  Added Registry.Installed(), which returns all installed mods.
  Registry: Documentation tweak, tweaked one if -> else if.
  Moved all registry related files into their own directory.
  Registry documentation.
  Migrated RegistryVersionNotSupported to a Kraken.

Conflicts:
	CKAN/CKAN/Types/Kraken.cs
Merge branch '175_relationship_resolver' into unofficial_release

* 175_relationship_resolver:
  Fix RelationshipResolver to examine provides as well.
Merge pull request #184 from pjf/175_relationship_resolver

Fix RelationshipResolver to examine provides as well.
Merge pull request #189 from pjf/better_netkan

Netkan: Check we'd actually install files when generating metadata.