Gracefully handle not initialized state for PG::TypeMapByColumn derivations.
Allow cascading of type maps.

If a value can not be handled by a type map this value isn't handled implicit
by TypeMapAllStrings, but instead by the assigned default_type_map, now.
Merge alloc_query_params() and alloc_query_params1(). The separation is no longer needed.

Allocate gc_array on demand, as it's not needed for most queries.
Add Enumerator versions to Result#each and #each_row.
Use frozen String objects as field names and reuse them where possible.

This speeds Result#each up by 30%.
Populate the row-Array in Result#each_row and Result.values per rb_ary_new_from_values()
from VALUE array on the stack. The number of fields is limited on the server side
to ~1700, so that stack space is not critical. This gives a small speed up by 5%.
Use rb_ary_new4() instead of rb_ary_new_from_values() for compat with Ruby < 2.1.
Add include <math.h>. It defines isnan() and isinf().
Add workaround for missing RETURN_SIZED_ENUMERATOR macro in Ruby < 2.0.
Use rb_hash_dup() with a prepared tuple hash instead of rb_hash_new().

This gives a little speedup of 5-10% for Result#each .
Fix compat with Rubinius.
Fix typo.
Add PG::Result#stream_each and #stream_each_row methods and specs.
Merge branch 'master' of github.com:larskanis/ruby-pg
Update History.rdoc
Mark failing tests on Rubinius as pending.
Fix typo in specs. Thanks Chris Bandy.
Update tavis-ci and specs for PostgreSQL-9.4.
Add PG::Connection#hostaddr. This is new in PostgreSQL-9.4.
Remove Rubinius from the allowed failure list - failing specs are now marked as pending.