Start Postgres after it is installed

* Set up plist so Postgres will start up at login.
* Create file for other potential `brew services start` lines. Redis?
Allow personal customizations via ~/.laptop.local

Use same `.local` convention as https://github.com/thoughtbot/dotfiles.
Test all officially supported linux distros

Includes more thorough rails-level tests and docs for the
aforementioned.
Fix how we source personal additions to laptop

If the file ~/.laptop.local doesn't exist, the laptop script returns a
failing exit code. This doesn't really make sense, and gets in the way of our
test runner.  Wrap this in slightly more verbose `if` to ensure a
successful exit code.
Don't hardcode Ruby version

* Use http://ruby.thoughtbot.com/latest endpoint.
* We'll update the file when necessary, which is stored on S3 and served
  via Fastly.
* Apply style guideline: "Use snake_case for variable names and ALLCAPS
  for environment variables."
  https://github.com/thoughtbot/guides/tree/master/style#shell
Fix "Could not verify the SSL certificate" errors

The error message indicates the connection failed because OpenSSL was
unable to verify the server certificate. The SSL certificates that comes
with Mac OS X 10.8 may be outdated.

http://bit.ly/ruby-ssl

This also should help avoid critical OpenSSL errors:

https://github.com/Homebrew/homebrew/commit/dc763ad98c4c5d1ce72b85e5b2ea90313fad92b2
http://arstechnica.com/security/2014/04/critical-crypto-bug-in-openssl-opens-two-thirds-of-the-web-to-eavesdropping/
Build "linking OpenSSL" change from 44a5266
Use command -v to test command existence

Use preferred POSIX `command -v` test for command existence instead of
previous `which` technique. `which` exits with status `1` if nothing is
found. That would cause the script to abort because we use `set -e`.

http://stackoverflow.com/questions/592620/how-to-check-if-a-program-exists-from-a-bash-script
Make mac script run idempotently

Use preferred POSIX `command -v` test for command existence instead of
previous `which` technique. `which` exits with status `1` if nothing is
found. That would cause the script to abort because we use `set -e`.

http://stackoverflow.com/questions/592620/how-to-check-if-a-program-exists-from-a-bash-script

Remove GCC dependency in mac script

GCC is no longer necessary to compile Ruby. It was fixed in Ruby about
two years ago. LLVM has been supported since 1.9.3-p125.

https://bugs.ruby-lang.org/issues/5076
http://stackoverflow.com/questions/8032824/cant-install-ruby-under-lion-with-rvm-gcc-issues
Fix ruby-build errors with ruby 2.1.1

Apply mislav's patch
https://github.com/sstephenson/ruby-build/issues/526#issuecomment-37933242
against a readline bug in newer rubies. Should fix #219 and #218, and
we'll remove when a new ruby is released or if ruby-build patches this
bug itself.
Remove support for EOL'd ubuntus: 12.10 and 13.04
Ubuntu 14.04 LTS (Trusty Tahr) support
Update github raw urls

https://developer.github.com/changes/2014-04-25-user-content-security/
Merge pull request #222 from wouterw/patch-1

Update github raw urls
Automatically create laptopped vagrant boxes.

Vagrant boxes can be created automatically after a successful run of the
laptop test suite. These vagrant boxes are published to
[vagrantcloud](http://vagrantcloud.com/thoughtbot/) and should be a
solid start on a vagrant dev box suitable for modern ruby and
ruby-on-rails development.

Improvements include:

* Vagrantfiles fixed to have predictable names
* test/runner.sh now knows how to render vagrant boxes after tests are
  successful
* Error reporting improvements
* Full documentation on creating new base boxes

We now require vagrant >= 1.5.0 to use the automated test suite built
into laptop.
Remove the deprecated curl-ca-bundle

See: https://github.com/Homebrew/homebrew/commit/ab926db, thanks to
@wouterw
Install silversearcher from apt when possible
Support rerunning the installation script by restarting postgresql.

If postgresql was installed and started in a previous run, start causes:
Error: Service `postgresql` already started, use `brew services restart postgresql`

When developing changes to these scripts, it's important to be able to run and rerun this script without removing applications.
Merge pull request #235 from ManageIQ/support_reruns_where_pg_is_started

Support rerunning the installation script by restarting postgresql.
Refactor automated laptop tests to use rspec

Includes:

* A minimal gem, rake, and rspec environment
* The Distro class wraps up commands to test and provision vagrant boxes
* Publishing boxes to s3 has been simplified and improved
* Significant documentation updates

New laptop specs should now be significantly easier to write and understand.