Serialize postgres arrays, hstore and json values correctly in AR update methods. Fixes #12261

Closes #12261

As described in #12261 the column information was not being passed in for sanitization methods, therefore db-adaptor-specific quoting could not trigger resulting in an exception => https://gist.github.com/senny/6725398. 

The bug applies to `update_column`, `update_columns` and `update_all` methods on columns of type `array`, `hstore` and `json`(maybe even more).

The suggested version of `quote_bound_value` now explicitly checks for array, hstore and json type columns, which is not flexible nor elegant, so it might need some refactoring, suggestions welcome.

@senny thanks for your help!