Add support for CocoaPods

- Adds a default Podfile (empty for now)
- Run `pod install`
Add default pods for test target

- Add Specta, Expecta, and OCMock to default podfile
- Add testing dependencies to the prefix if cocoapods is enabled
Allow users to override templates

This lets users add `~/.liftoff/templates/` and `./.liftoff/templates`
directories, where they can add custom templates or override the
existing templates.

These templates can also be used inside custom directory structures, and
will be rendered with YAML if needed.
Update documentation
Fix typo
Set SDKROOT at the project level

Xcode sets the SDKROOT at the project level. This changes the way that
Xcode sets the paths for imported frameworks, among other things.
Remove explicit framework linking

Modules being enabled means that we actually don't have to do any of
this anymore. These frameworks are automatically linked by importing
them in the `pch`
Update unit test prefix template to link XCTest

- Linking XCTest in the prefix means that we don't need to link it
  explicitly in the project
- Fix the definition for enabling shorthand syntax in Expecta
Prefer new @import over #import

We can use the new modules syntax directly. It's pretty.
Trap interrupt during option input

* Extract OptionFetcher
  This class handles fetching the options from the user, and manages the
  various interrupt signals during input

Fixes #81
Print a nicer error if the directory exists

Fixes #87
Add company_identifier property to configuration

This allows users to provide (or pre-define using the liftoffrc) a
company identifier to use for the project. By default, we will construct
a company identifier for the user by normalizing the provided company
name and prepending 'com.'
Automatically default to the current user's name

Pull the current user's name from `passwd(5)` by default.

Credit to @mike-burns for the technique

We can fetch a reasonable default now, and users can easily override
this with their `.liftoffrc`. No real need to prompt for this info.
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.
Add contributing file

Includes instructions on packaging a new release version
Remove native C extension step from installation

Xcode 5.1 _seriously_ breaks building gems with the system ruby. And as
it turns out, we don't actually need this in order for Liftoff to work.

It would be great to add this back in later, but in order for that to
happen, we would need to depend on Ruby being updated, or xcodeproj
would need to change the way this is built. Neither of these seem super
likely.