Simplify gitignore
Add vendorize script

* Add vendorize script from gitsh/rcm
  https://github.com/thoughtbot/gitsh/blob/master/vendor/vendorize
* Add `gems:vendorize` and `gems:clean` rake tasks for vendorizing gem
  dependencies.
* Remove old vendorizing rake tasks
Add template Homebrew formula

This formula will be used with a Rake task to populate the version and
SHA information for the current release.

* Homebrew will happily link any directories named `lib` into
  `/usr/local/lib`, which isn't actually what we want. The easiest way
  to get around this is to install `lib` into `rubylib` instead.
* Xcodeproj has a native C extension that it relies on, and if it isn't
  found it does some funky path lookups that we don't want it to do. So
  we need to build it on the user's machine.
Add distribution executable

* Distribution executable sets up the path for vendorized gem
  dependencies
* Remove the crazy LOADPATH stuff from lib/liftoff
Improve release process with Rake

Adds a series of rake tasks to improve the overall experience when
creating a new release

Note that because `Rake::PackageTask` generates its list of files to
package at the time of task generation (that is, as soon as you run
`rake`), you  _can not_ vendorize the gem dependencies inside the same
run as packaging the release. For that reason, I'm including a
`release.sh` shell script that vendorizes the gems, and then (in a
separate run of rake) packages the release.

`release` is the main task. It will run all of the tasks in the
`release` namespace in order

`release` namespace:
* `build` builds the new release and adds it to the destination
  repositories. (`tarball:build` and `homebrew:build`)
* `push` pushes the sub-repositories to GitHub (`tarball:push` and
  `homebrew:push`)
* `clean` removes all of the build artifacts from the repo
  (`gems:clean`, `tarball:clean`, and `homebrew:clean`)

`gems` namespace:
* `vendorize` will run the vendorize script, pointing at vendor/gems
* `clean` removes vendor/gems if it exists

`homebrew` namespace:
* `build` runs `checkout`, `formula:build`, and `commit`
* `checkout` checks out thoughtbot/homebrew-formulae as a local
  subdirectory
* `commit` adds a new commit to thoughtbot/homebrew-formulae for the new
  release
* `push` pushes thoughtbot/homebrew-formulae to master
* `clean` removes the homebrew formula directory if it exists

`homebrew:formula` namespace:
* `build` generates a formula for the current version from the template.
  It will replace `__VERSION__` with the current version, and `__SHA__`
  with the `shasum` of the packaged tarball. This formula will be
  written directly into the gh-pages subdirectory.

`tarball` namespace:
* `build` runs `checkout`, `package`, `move`, and `commit`
* `checkout` checks out the `gh-pages` branch of liftoff into a local
  subdirectory
* `move` moves the tarball generated by `package` from `pkg/` into the
  `gh-pages` subdirectory
* `commit` adds a new commit to the `gh-pages` branch of liftoff for the
  new release
* `push` pushes the `gh-pages` branch of liftoff up to GitHub
* `clean` removes the `gh-pages` and `pkg` subdirectories if they exist
* `package` is generated by `Rake::PackageTask`. It creates a new
  directory inside `pkg` for the current release, and creates a tarball
  out of it.

Rakefile changes

Rakefile changes

Build tarball

* Checks out gh-pages as a subdirectory
* Builds tarball
* Moves tarball into place

Wrap release tasks in a namespace

Remove vendorizing task from build task

It looks like the package task builds the list of files when the task is
defined, so any files created as a part of the build process can't be
included in the tarball.

Rakefile changes

Rakefile changes
Constantize directory locations

Commit changes to homebrew-formulae and gh-pages

Automate the pushing of the sub repositories

Add release script

This will make sure that the gems are vendorized before building the
tarball
Add contributing file

Includes instructions on packaging a new release version