Model names distinct from database fields

Naming a method in an ActiveRecord object after the DB column causes
issues with Rails validations such as presence and uniqueness. Even if
the object does not have those validations now, wrapping an AR attribute
limits people in the future arbitrarily.

Instead of wrapping a column, instead name the column more simply. For
example, if you need to expose the receipt string as an `AppleReceipt`,
store the value as `encoded_receipt` or `receipt_string`, then provide a
`receipt` method that handles the wrapping.
Update rebasing/fetching in protocol guide

Functional changes:

* Don't forget to fetch before rebasing.
* Change Thin recommendation to Unicorn.
* Remove `--rebase` due to discussion
  [here](https://github.com/thoughtbot/dotfiles/pull/111).

Improvements for better readability/documentation:

* Replace `<>` style code comments with sentence instructions.
* Use full options flags (`--verbose`, `--delete`, etc.) for clarity.
* Use `<branch-name>` consistently (angle brackets and `-name` suffix).
Improve explanations in Trello guide

Based on feedback from @jessieay and @adarshp.
Apply Sandi Metz Rails guidelines

http://gist.io/4567190
Apply Sandi Metz testing guidelines

http://gist.io/4567190
Add the "convince your pair" high-level guideline

http://gist.io/4567190
Five line methods, 100 lines objects
Link to Metz’ slide on assertions about state
Use `self` only for class methods and assignments
Organize route-based guidelines in thier own section

* Adds a "Rails Routes" section
* Moves route-related guidelines from "Rails" to "Rails Routes"