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
(cherry picked from commit af88c251ba6490f7074375f00401ba73bd7e70b0)
Change code to be project style conformant.
(cherry picked from commit d54484c647445b2503b82929a5b5c737637489c1)
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.
(cherry picked from commit 0fbcf510ff61b38a3f3334c37e68ed591b534e21)
Tiny modifications to float text encoding
(cherry picked from commit 50126ee0c2a46fea99265eba1c22d0aa5fc236c9)