Add e alias for $EDITOR, v for $VISUAL

* Goal is to quickly open current project in vim to v.
* This is a dozens-of-times-per-day kind of task for me.

Lively discussion here:

https://github.com/thoughtbot/dotfiles/pull/100
Add `replace` script

Find and replace by a given list of files.
Use ag instead of ack

https://github.com/ggreer/the_silver_searcher

* ag is faster than ack
* ag searches all files by default (but still ignores gitignored files). This
  removes the need for ack's `--type-add=` options.
* The command is 33% shorter than ack!
g alias for git

With arguments, g acts like git.
Without arguments, it runs `git status`.

* Source functions/* after loading ZSH completion so `compdef` is available to g
  alias
Explain what's in dotfiles

* Link to fork/upstream process.
* Remove RVM reference.
* Don't create ~/.README.md in `install.sh` script.
Fix contributors link in README
Rename current file in vim buffer

* Retain relative path.
* Save file.
* Do not keep old file open in buffer.

Usage:

    :e old_file_name.rb
    :Rename new_file_name.rb
Change the 'git commit --amend' alias to 'git ca'
Extract rspec vim bindings to thoughtbot/vim-rspec
Move `.vimrc.local` to the bottom of .vimrc

Having this file be sourced last allows user to
overwrite the configs in `.vimrc` without having to modify it.

* fixed file's path to work with `filereadable`
Increase tmux scrollback lines
Add a config line required by vundle
Use `color.ui = auto` setting to color git output
Use bundler.vim

Includes features such as:

* `:Bundle`, which wraps `bundle`.
* An internalized version of `bundle open`: `:Bopen` (and `:Bsplit`,
  `:Btabedit`, etc.).
* `'path'` and `'tags'` are automatically altered to include all gems
  from your bundle.  (Generate those tags with
  [gem-ctags](https://github.com/tpope/gem-ctags)!)
* Highlight Bundler keywords in `Gemfile`.
* Support for `gf` in `Gemfile.lock`, plus syntax highlighting that
  distinguishes between installed and missing gems.
Remove --noheading flag from ag execution

The flag isn't needed, and seems to cause strange output.

Output with flag in vim:

app/models/group.rb|4| validates :yammer_group_id, :name, presence: true
||·
app/models/event.rb|24| validates :name, presence: ...

---

Output without:

app/models/event.rb|24| validates :name, presence: ...
app/models/event.rb|25| validates :name, length: ...
app/models/event.rb|26| validates :open, inclusion: ...
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`