Version Inheritance Support

Launcher from version 1.5.1 now supports version inheritance which has three main benefits:

* User now **does not need to download vanilla version prior to installing** because the launcher handles inheritance of unavailable vanilla versions just fine and will happily download the jar and JSON on first run
* No longer necessary to keep installer's bundled JSON up-to-date with Mojang libs from vanilla, bundled JSON now only needs to contain libs to be *added* to the classpath
* Mojang libs (authlib, realms) will always stay in sync in the future if vanilla version is updated

Prior to the resolution of [MCL-2964](https://bugs.mojang.com/browse/MCL-2964) there was an issue with inherited versions, this is now resolved and so adopting inheritance seems like a good plan.

This pull request comes with a free frogurt.
Whats with the formatting change?
also, if you are going to change this it should probably be to a version that tests all features {extraction, copying, downloading, etc..}