Split project into cmdline and library. For #75.

- Renamed `CKAN` class to `Repo`, to avoid namespace confusion.
- Made ModuleNotFoundException public.
- Tweaked .gitignore for great justice.
- CKAN now compiles to a .dll, CmdLine compiles to an exe
fixed project build options
`ckan gui` or `ckan` (no args) will now start the GUI.

Also, I have no idea what's happened with our CKAN.sln
policy stuff. I've managed to get it back to *not* inserting
tabs, but we might need a bot or similar to monitor this.

(I'm much more used to .vimrc and .perlcriticrc files!)

Also, @AlexanderDzhoganov, I opened up your GUI Program class,
I hope you're cool with that. ;)
CKAN client version now supplied by Meta.Version();

Also fixed the build system so this actually gets found again.
Fixed exception on command-line 'show' without arguments
oops, forgot to fix the command line :)
Implemented 'upgrade' in command-line client
Gitignore: *.csproj.user

For #83
Fix help message in cmdline, install -> upgrade.

For #83.
Reformatting
ModuleInstaller is now a singleton
Fixed command-line client
Convert ModuleNotFoundException to ModuleNotFoundKraken.
Added multi-instance support to command-line client
merged with master
Added set-default-install to command-line client
small fix
Another small fix
Added "clear-cache" command-line option, some improvements in FilesystemTransaction, small GUI fixes
Removed unnecessary include