Improve idempotency in the linux laptop script

These changes allow the laptop script to run more than once and can be
tested through ./test/runner.sh.  The only significant side effects are:

* Gems (pg, rails, unicorn) will be updated
* ruby $RUBY_VERSION will be set as the global ruby if it wasn't already
* rubygems proper will be updated to the latest release
* hub will be updated
* the heroku toolbelt will be updated.