Hstore arrays fix (follow up for #11444)

I took #11444, rebased it to the current master and addressed @senny comments.

I'm getting the following error locally, and I'm not currently sure if its happening because of the changes:

```
  1) Error:
TimestampTest#test_bc_timestamp:
ActiveRecord::StatementInvalid: PG::DatetimeFieldOverflow: ERROR:  date/time field value out of range: "0000-01-01 07:52:57.000000 BC"
: INSERT INTO "developers" ("created_at", "created_on", "name", "updated_at", "updated_on") VALUES ($1, $2, $3, $4, $5) RETURNING "id"
    /vagrant/rails/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:818:in `get_last_result'
   ...
```

Using this as a test bed to see if it also fails on Travis :)