*WIP* Array datatype should return real arrays using #select_one

*before*

```
query = Person.where(["? = ANY (tags)", "cfabianski"])
Person.connection.select_one(query)
=> {"id"=>"1", "ip"=>nil, "subnet"=>nil, "tag_ids"=>"{4,8,9}", "tags"=>"{cfabianski,cedric}", "biography"=>nil, "lucky_number"=>nil, "num_range"=>nil, "created_at"=>"2013-08-13 06:13:22.441956", "updated_at"=>"2013-08-13 06:13:22.441956"}
```

*after*

```
{"id"=>"1", "ip"=>nil, "subnet"=>nil, "tag_ids"=>[4, 8, 9], "tags"=>["cfabianski", "cedric"], "biography"=>nil, "lucky_number"=>nil, "num_range"=>nil, "created_at"=>"2013-08-13 06:13:22.441956", "updated_at"=>"2013-08-13 06:13:22.441956"}
```

I issued an WIP PR so that I can have some feedback from you.
IMO, it makes a lot of sense to treat the `select_one`, `select_all`, ... using the same mechanisms than the ones used within ActiveRecord.

If you agree I could do the same for example for `hstore`.

WDYT?