Fix up server locator so that sbt-launch.jar is pulled from nested location.

* We now look for a nested sbt-launch.jar first.
* We store the sbt-launch.jar using its SHA and re-use an existing
  launch jar if it exists.
* We placed some general purpose SHA code we shoudl probably
  have in sbt-io lib or somewehre more general.