Download older launchers if the version is declared in `build.properties`
Set `sbt.global.base` expectedly
add tests for sbt-extras based on sstephenson/bats

[Bats](https://github.com/sstepehnson/bats) is a testing tool for bash
scripts. It has been used in famous bash projects like Ruby's rbenv.
unset system's `JAVA_HOME` to force tests to use stubs
paranoiac string quoting
add .travis.yml
Added test runner.

% bin/run-tests

✓ loads .sbt_completion.sh
✓ fails to start sbt on empty project
✓ starts sbt on empty project if -sbt-create was given
✓ downloads sbt 0.7.x
✓ downloads sbt 0.10.x
✓ downloads sbt 0.11.x (< 0.11.3) from org.scala-tools.sbt:sbt-launch
✓ downloads sbt 0.11.x (>= 0.11.3) from org-scala-sbt:sbt-launch
...
Merge pull request #68 from paulp/add-bats-test

Add test runner.
Fix comment skipping code.

Didn't work at all, amazingly enough - it was using regexp
style instead of globbing. Also broke in the face of blank lines.
jvm_opts files can now contain lines starting a # and blank lines,
but lines with a non-initial # are options.

Used new testing abilities to include a test. Whoo.
Merge pull request #69 from paulp/comments

Fix comment skipping code.
Eliminate avoidable eval.

That's what happens when you aren't paying enough attention,
someone gets an eval past you.
Add build status image in README
Merge pull request #70 from yyuu/add-build-status

Add build status image in README