Change after_script behavior

In commit 1fd5778 I introduced after_test option for .travis.yml, which
allowed to run command regardless the test result. After reviewing this,
we came up with better solution. Previously, after_script was run only
if script passed, which made it virtually the same as after_success.

This commit changes after_script's behavior to run regardless test
result. Please not that this changes a few things:

* order of running stages is different, after_script runs after success
  failure commands
* fail in after_script will not make test fail - it's run only when test
  result is already known
* it's possible to check test result with TRAVIS_TEST_RESULT env var in
  after_script now
Merge pull request #50 from travis-ci/after-script-changes

Change after_script behavior (please don't merge yet)
Retry and sleep when exporting TRAVIS_TEST_RESULT failed.

There seems to be some strange timing issue going on that causes
this particular export to fail for no apparent reason.
Some README fixes

The project now runs on JRuby 1.9-mode.
Don't export TRAVIS_TEST_RESULT if there is no after_script commands

export commands tend to sometimes fail with no reason (it may be a bug
in net/ssh or other part of executing commands for vm), until we fix it,
we may just try to minimize executing them - if there is no
after_script, people will not use it anyway.
Compile an sh build script
refactor specs
inspect the build.sh on failure
try using bin/bash as a shell
remove function keyword
false should be found, but it's not always at /bin/false
do not test against 1.8
no need to sleep when we can just wait
do not --fail-fast [ci:skip]
stream logs to a specified endpoint
rename config to data
cleanup
add a build_script service so we can serve the script from the api
stuff
more stuff