Fixed NetKAN so it can now find its cache again.
Added basic tests for CKAN.Repo

This involves a change to CKAN.Repo's internals so that it can
populate a registry without needing to save it.
Implemented AvailableModule.Remove and Registry.Remove, and more tests!

Hooray tests. :)
Fixed bug where we could try to construct a Url from null.

This doesn't have a test case. I am so sorry.
Implement and test RemoveAvailable(Module module)

This is simply a shortcut to the main RemoveAvailable() that does
all the heavy lifting.

Tests included.
CmdLine: Allow installation of files from CKAN files.

`ckan install -c YourMod.ckan`

This inserts the described mod into the registry, and then installs
as per normal. If that mod was indexed from upstream, the relevant
version (and only that version) will be replaced by the one
described in the file.

This does not roll-back the meta-data insertion if the user chooses
not to install the mod. As a dev tool option, I'm not stressed by
this.

Closes #128.
Merge branch 'fix_netkan' into 128_install_from_cmdline

* fix_netkan:
  Fixed NetKAN so it can now find its cache again.
Merge pull request #163 from pjf/128_install_from_cmdline

Allow installation of CKAN files from cmdline.