Strip CR characters from build.properties when detecting the sbt version.

If the sbt.version line in build.properties ends with CRLF (for example,
after being copied over from a Windows machine) instead of LF, the CR
needs to be stripped off so as to not become a part of the version number
(which makes downloading of the required launcher jar fail with very
strange console output due to those control characters).
ivy-classpath -> ivycp
Add -sbt-milestone option to use 0.13.0-M1.
Allow for multiple launchers, since 0.13 needs a new one.
don't use builtin readarray because it is not available in older versions of bash, like the one that ships with OS X
separated params so no extra quotes
Make -h work again. java -version displays info to stderr stream
Verison bumps, logging cleanups, trap exit, launcher code.

Stores downloaded launchers in ~/.sbt/launchers unless
a different -sbt-launch-dir is given.
New launchers: 0.12.3 and 0.13.0-Beta2
milestone -> beta
Merge commit 'refs/pull/46/head'
Merge commit 'refs/pull/48/head'
Merge commit 'refs/pull/44/head'
Merge commit 'refs/pull/51/head'
tweak jvm options based on [Getting Started](http://www.scala-sbt.org/release/docs/Getting-Started/Setup.html).