Always merge with `ff = only`

@jferris:

This has the effect that Git will never implicitly do a merge commit,
including while doing git pull. If I'm unexpectedly out of sync when I
git pull, I get this message:

> fatal: Not possible to fast-forward, aborting.

At that point, I know that I've forgotten to do something in my normal
workflow, and I retrace my steps.

@gylaz:

I like the value of seeing a failure message if a pull (or just merge)
fails due to not being able to get fast-forwarded. Then I can look to
see whose changes went out, that I may have not expected to be there.
Add vim-rspec mappings

Compliments https://github.com/thoughtbot/vim-rspec/pull/7
Open new splits to the right/bottom

* Feels more natural than Vim's default
Remove `git br` alias

I almost never use `git branch`.
Add `g pr` alias for `hub pull-request`
Bundle vim-ruby/vim-ruby

vim-ruby is where Vim's support for Ruby comes from - file type
detection, syntax highlighting, etc. Vim bundles vim-ruby, but the
GitHub project is always ahead of what's released with Vim.
Add personal preferences
Remove my user specific configs from `gitignore`
Don't treat any of the plugins as submodules