Fix #167
Merge pull request #176 from ROMB/Fix_167

Fix #167
Merge pull request #172 from pjf/code_health

Code health improvements
FindInstallableFiles throws a BadMetadataKraken instead of returning empty.

This closes #93.

NB @AlexanderDzhoganov, we have another exception to watch for when
installing.
Refacted ModuleInstaller.Install() to use FindInstallableFiles()

Actually, it now uses `InstallModule()`, which does the work.

Notable changes in this:

- Install() can throw exceptions again.
- We move InstallComponent() towards being deprecated
- We cry over still needing bundles.
- Closes #93

Sample output:

```
About to install...

 * DogeCoinFlag 1.03

Continue? [Y/N]

DogeCoinFlag:

Bad metadata detected for module DogeCoinFlag 1.03
No files found in GameData/DogeCoinFlag to install!
```