Provide `ckan upgrade` functionality.

I'm not entire happy with this as it doesn't come with enough tests, however it *does* work and I've been using it for the last week with great success.

Of particular note is that we have a new `AddRemove`, which does not chase dependencies, but lets mods be added and removed in a single operation, provided the result is consistent.

The output from `ckan list` is way cooler with these changes, too. It's easy to see which files can be upgraded, which are up-to-date, and which are for an older versin of KSP.

For #160.
Closes #458.