Google oauth

Sorry the PR isn't totally cohesive. I'm going to start going through each file before committing to decide whether to add it to a particular commit. Agree with what you said about this in your email earlier today, Arlandis.
`change` replaces the need for separate `up`/`down` migrations. i.e. ActiveRecord is smart enough to know that the reversal of `create_table` is to drop the table.