Add support for Postgresql datatype jsonb

Hello,

While working on a [lightning talk](https://gist.github.com/pcreux/cd6efb47f8bc439054bb) on the [postgresql datatype jsonb](http://www.postgresql.org/docs/9.4/static/datatype-json.html) I added support for jsonb to active record.

jsonb is available in Postgresql 9.4 beta that has been released on May 15, 2014.


Postgresql jsonb does not preserve white spaces. It returns json with a space before each key while `JSON` gem does not.

When we save the hash `{one: "two", three: "four"}` to a jsonb column, the `JSON` gem turns it to the string `{"one": "two","three": "four"}`. When we retrieve it from the database, we get the string `{"one": "two", "three": "four"}` (notice the extra space after the coma).

We can't directly compare the two strings to know if the value has changed. As a workaround, I parse the `raw_old_value` and regenerate a json representation via the `JSON` gem.

I am not a big fan of this approach though. Any idea on how to improve this? We could at least memoize the parse&generate version of the json coming from the database.