Updated the spec to be in line with current policy.

- Adds `manual` field (closes #119)
- Adds `description` and clarifies abstract (closes #223)
- Removes `pre_depends` (closes #226)
- Documents `$vref`
- Clarifies identifier (references #89)
- Clarifies license

Updated code so that it *will* read old documents (including those in
the registry), although it loses github information, as this field has
been deprecated in favour of `repository`.
Updated the NetKAN to generate files according to the new spec.

This is really just a change to how we handle resources.
Merge pull request #253 from pjf/spec_fixes

Updated the spec to be in line with current policy.
Update NetKAN files for new CKAN spec.

I should have remembered these and included them in the last PR.
Merge pull request #254 from pjf/spec_fixes

Update NetKAN files for new CKAN spec.
Fixed #241
commented STAThread attribute
Merge pull request #255 from AlexanderDzhoganov/241_missing_dial

Fixed missing file select dialog
Virtual packages are now colored differently
hide console window when in GUI mode (win32 only)
formatting
deal with exception when recommended or suggested mod is missing
C#-fu
command-line client now subscribes to moduleinstaller progress reports in verbose mode
removed unused headers
hm
added clear changes option (under Apply changes)
Merge pull request #256 from AlexanderDzhoganov/better_dependency_graph

Small GUI stuff
Fix bug where we would try to delete non-empty directories.

Apparenty Directory.GetFiles just gets files, and ignores sub-folders.
We only want to delete a directory if it's completely empty.
InstallList: No longer download files inside a transaction.

Apparently transactions in C# have mandatory timeouts. At most, these
can be extended to 10 minutes. Rather than cause users who aren't on
fibre to experience suffering, we now don't start our transactions until
we actually begin to install the mods.