Make sure calls to $model->values() use only set a limited set of fields

Previous the list was only being limited on the 2nd call after validation
but because we reused the model object the values still got saved later.

Now making sure we limit this everywhere.
Make Attribute options use built-in serialize_columns to encode/decode

Previously we were manually json_encoding/decoding this field, but
Kohana can do that for us.
Post revisions: updated posts api to create a new revision on every change

* Only make post slug unique for type 'report', since revisions might
  have duplicate slugs
* Refactor posts API to share code between POST and PUT
* Allow 'translation' post type
* Create 2nd most with type "revision" if anything changes when submitting
  a post.
Adding /posts/:id/revisions API