Serialize results of /versions to binary and deserialize on the other side
Resolve versions more nicely and clean up code a lot

* Move `git` command to Utils
* When no version is specified, try registry, then try github, then fail
* Better messages for users during this process
Make the error messages look a bit nicer
Nicer formatting for some code and move the FilePath defaults to Utils
Read dependencies in ErrorT
Use proper version numbers in dependency data
Move deps.json parsing to Model.Dependencies