Binary array handling

Add support for binary array backend encoding.
Move OID type mapping from Connector to ConverterOptions, defaulting to
null.
Add supporting util functions, some of which are intended for use by future binary backend codecs.
Change version on default oid type mapping to somethimg safer.
Revert recent changes to EF code in favor of a now defaulted parameter,
since EF doesn't know anything about it.
Binary array support

Support arbitrary lower bounds in binary arrays.
Evidentally, the null map flag isn't used at all in the frontend/backend binary array representation.
Don't use PGUtil.WriteBytes(), because it appends a 0-byte.
Merge branch 'master' into binary_array_handling
Killed two compiler warnings in testsuite.
New tests, fix for text array encoding

Added tests to beat up binary integer array handling.
Refactored out some duplicated test code.
Properly double-quote and escape array elements in extended query text array formatter.
Type converter changes

Add binary backend codecs for text, float and double.
Add relevent tests.
Demote oid to 32 bits, per its actual size in PG.
Optimizations

Move the UTF8Encoding.GetBytes()/GetString() into the types converters.
Optimize some of the type converters, such as ByteArrayToByteaText*(), to avoid the UTF16 encoded Strings; memory used to text encode bytea is now cut in half.
Optimize Bind, Parse, Execute, Describe by eliminating calls to UTF8Encoding.GetByteCount().
Queries and text arrays are now built directly to byte[] (MemoryStream), since text parameters are now all returned as UTF8 encoded byte[].
Remove numerous instantiations of UTF8Encoding in favor of one global instantiation.
Added an enum of commonly used ASCII characters (as byte) to avoid repeatedly running the encoding on their char counterparts.
Added some commonly used ASCII strings (as byte[]).
PGUtil

PGUtil.Write*() functions are now extensions to Stream, and follow the fluent pattern.
Many updates to use the new pattern.
Also some reformatting.
Optimization

Optimize NpgsqlCommand.GetParseCommandText(), minus the part that subs parameters (see TODO note).
Optimization, cleanup

Added PGUtil.WriteLimBytes().
Fluentize the WriteLim*Functions.
StartupPacket optimized, fluentized, and reformatted.
More fluentization to FastPath.
Merge branch 'master' of https://github.com/franciscojunior/Npgsql2 into text_backend_encoding_ascii
Cleanup

Removed stored strings that weren't being used.
Un-comment outputStream.Flush() in NpgsqlQuery, as the problem is not well understaood.
Changed some labels to be a bit more readable.
Merge pull request #52 from glenebob/text_backend_encoding_ascii

Lots of optimization.