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.
State improvement for connector

Removed the RequireReadyForQuery state variable, we just
look at the connector state instead.
Separated out COPY-related tests
Moved some EventArgs classes into the Npgsql namespace

NpgsqlRowUpdatedEventArgs and NpgsqlRowUpdatingEventArgs were defined
in the root namespace
Merge pull request #358 from roji/namespace_issue

Moved some EventArgs classes into the Npgsql namespace
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
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