use ~/.sbt/launch to store sbt jars if script_dir is not writable
Updates to options processing.

Reworked how args are passed to the jvm and to sbt.
This is a breaking change if you used these features.
I dropped a couple options which were more trouble than
they are worth, and am generally assuming less on
startup. The main thing is that you can tightly control
what args arrive at the jvm and at sbt now.

I also changed some defaults for faster startup; it's too
slow passing extra settings to sbt all the time.

Note that -sbt-opts and -jvm-opts take filename arguments;
I'm using command substitution here.

  % sbt -sbt-opts <(printf "%s\n%s\n" -trace 4) -jvm-opts <(echo -verbose:gc)

results in this command line:

  java -Xmx128m -Dsbt.global.base=/Users/paulp/.sbt/0.12.2 \
    -jar sbt-launch.jar "set every traceLevel := 4" shell

Or the same outcome with environment variables:

  % JVM_OPTS="-verbose:gc" SBT_OPTS="-trace 4" sbt
Make -batch work.

Let's hope this lets us run backgrounded. If someone would
like to make it so the runner waits for the backgrounded process
and propagates its exit code, that would be great.
Merge commit 'refs/pull/35/head'
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'
SBT/JVM options: Add '@'-trick and #-style comment
fix broken `-no-share`