Fix handling of float and double positive infinity values.

Npgsql doesn't quote float and double values when sending to server.
But special PositiveInfinite and NegativeInfinite values need to be quoted.

Fix #337
Change code to be project style conformant.
Improved Nan, PositiveInifinity and NegativeInfinity checking. Add
tests.

Thanks @roji for heads about about the IsNaN, IsPositiveInfinity and
IsNegativeInfinity methods.

Add tests for double and float array handing with PositiveInfinity and
NegativeInfinity.
Added [IssueLink] for semantic markup of tests
Fix rollback to savepoint when timeout is set

Fixes #363
Fixes to ForwardsOnlyRow

Index management logic on ForwardsOnlyRow was complicated and triggered
two bugs (see tests). Redid logic in a simpler way.
Merge pull request #345 from roji/forwards_only_row

Fixes to ForwardsOnlyRow
Merge pull request #339 from franciscojunior/337-fix-float-double-infinite-value

Fix float double infinite value
Tiny modifications to float text encoding
migration add varchar and char support
Non-IEnumerable backend message processing

Async will be incompatible with our current yield-based
method of processing backend messages. Converted it to
a simple ReadMessage() which returns a single message
each call, and wrapped it in a provisional yield-based
layer for now.
Replaced ProcessAndDiscardBackendResponses with Consume

Implemented over non-IEnumerable ReadMessage
Replace remaining yield-based backend processing
Basic hand-written async path working

Provisionally implemented async path for ExecuteReaderAsync() and
ReadAsync() all the way down, written by hand. Unit test works.
Auto-generate async counterparts to sync operations
Switched from single-byte to buffer reading

NpgsqlConnector was calling ReadByte(), this has no async counterpart.
Defined a byte buffer (with an arbitrary size for now) for use for all
socket read operations.
Added missing [GenerateAsync] on GetReader
Added type-excluding for async generator

For some types we never want to rewrite to async (e.g. TextWriter)
Fixed some non-rewritten GetReader invocations

System.Data needed to be referenced in order to bind them properly
Async speed tests