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
Bumped version to 3.0.0-beta1

Also removed some remaining .NET 2.0/3.5 nuspec directives
Removed obsolete ServerVersion

Also made ConvertProtocolVersion internal
Removed extra_float_digits setting

No longer set extra_float_digits upon connection, let the
user manage this as they see fit.

Fixes #324
Merge pull request #343 from roji/float_digits

Removed extra_float_digits setting on startup
Fix NpgsqlParameter.Clone() method. It wasn't cloning the npgsqlValue field.

Thanks @Tradioyes for the test and @kukhar for the patch.
Fix #371
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