Order ActiveRecord associations above validations

* Mirror class order in tests
Add space around operands in Sass
Fix
Prefer double quotes in Ruby

This will reduce the number of changes we have to make: when a string
transitions into something that needs interpolation, we do not need to
change the quotes.

This will also bring consistency to our writing: all strings will now
have double quotes, regardless of their contents.

It also puts us more in line with a large amount of external Ruby code,
which tends to use double quotes.
Fix Git protocol link

Rebase workflow changed location to inside of protocol/git/README.md
Update Objective-C style guide
Prefer `!` over `not`
Update README.md

Corrects link to the indentation example on the Haskell section.
Add guideline on symbol to_proc

* Using &:method_name is brief but clear
* Using it consistently aids readability
* Preferring simple method calls encourages simple methods
Avoid `link_to` for non-GET requests.

* Using `link_to` with the `method` option introduces an un-necessary
  dependency on JavaScript.
* HTML elements -- in this case a button or a link -- should be chosen for
  their semantics, not their appearance.
* CSS can be used to make links look like buttons and buttons look like
  links.
Add js- prefix to classes as well as ids that use javascript
Remove guideline to prepend js- to ids using javascript
Link to Liftoff

Move Liftoff guideline out of style, which is intended to be mostly
formatting, and into best practices.
Coffeescript preferred styles

* Use `@` instead of `this` for scoping consistency
* Prefer double quotes for consistency
Clarify SRP guideline

The single responsibility principle sounds more appropriate when
referring to a class as a whole rather than an object.
Don't use spaces after unary operators

The current guide suggests spaces around all operators, but we typically don't
add spaces after unary operators, such as `!`.

Adopted from #163.
Prefer `cookies.signed` in Rails

`cookies` is fine for storing non-sensitive data, but using `cookies.signed`
makes sense as a default. Using `cookies.signed` means you don't need to worry
about whether data is sensitive.

Cookies, even signed ones, can be easily read by the end-user (see
http://www.andylindeman.com/2013/02/18/decoding-rails-session-cookies.html).
Using `cookies.signed` only prevents the end-user from *writing* them.
Use v#.#.# convention for OSS release commits

This keeps us in line with tools such as
https://github.com/tpope/git-bump and lets us use tools to auto-promote
releases when we have a consistent interface.
Raise instead of returning false in AR callbacks

We never check whether a `#destroy` fails in our controllers:

    def destroy
      article = Article.find(params[:id])
      article.destroy
      redirect_to articles_url
    end

Because of this history, it would cause confusion and potential bugs if
we introduced a normal `before_destroy` into any of our models. Not only
will we need to check the result of `#destroy` for any controller using
that model, but we'd also need to check the return value for any
controller using models that associate with that model.

Since callbacks are used for validated database objects and are expected
to succeed, we should raise on failure. This will roll back the
transaction and notify the exception handler (e.g.  Airbrake).

This is true of all callbacks, not just `before_destroy`.
Fix link for "Bundler binstubs"