Subtle bug in message reading logic
Binary/text types appear to work completely

Refactored the relationship between the type handlers and the rows.
Propagate errors from SkipUntil()
Date/Time types work

* All unit tests pass for date/time types
* Some work on GetFieldType, GetProviderSpecific* and other DataReader methods.
* Implemented ParameterStatus, NoticeResponse, NotificationResponse messages
* Recycle server message types on NpgsqlConnector
Various fixes
- NextResult fix for multi-queries
- Money type support
- Brought back Japanese tweaks for column name lookup in RowDescription
- NpgsqlDataReader.GetOrdinal() now works
Fix some reader logic
Basic code contracts setup
Fixed function calling
Work on null
Tons of work rewriting read and the type handling system
Work on types

* New type handlers for inet, macaddr, uuid
* Removed NpgsqlMacAddress since it had no added value over .NET PhysicalAddress
* OID alias to int32
* varchar, name aliases to string
* Renamed StringHandler to TextHandler, DecimalHandler to NumericHandler to better match Postgresql type names
Array text encoding

There's lots of room for improvement/optimization, but at least it works.
Fixed NpgsqlDataReader.FieldCount

Now properly returns 0 when no row has been read.
FieldType for arrays is now Array

NpgsqlDataReader.GetFieldType() and GetProviderSpecificFieldType() now return Array for arrays.
Previously they returned int[] even for multidimensional arrays, which seems problematic (Array
is at least a superclass of all arrays). Making these methods return the actual dimensioned
type e.g. (int[][]) would be very complicated in sequential mode (part of the column is
already consumed).
Added invariant culture to all numeric conversions

Thanks @Emill
Commit ReSharper team DotSettings file

For those using ReSharper, this allows sharing team settings for various options.

For now, some common Npgsql abbreviations are there to disable naming warnings (e.g. OID)
Implemented bit strings

* BIT(1) gets mapped to bool, other bit types to .NET BitArray (Npgsql's
  BitString no longer used)
* To implement the above, had to allow FieldType to vary based on the
  field description's TypeModifier, and to refactor the array handler
  hierarchy to add a special one for bit strings.
* Note: did not reimplement complex bitstring text decoding, which assumed
  that hexadecimal and binary representations could be mixed in the same value.
* Moved type tests to their own folder
Leftover from bitstring commit
Fix StoredProcedure / sequential interaction

The first row in a stored procedure command that has output parameters
needs to be traversed twice - once for populating the output parameters
and once for the actual result set traversal. Fixed logic around this.
Removed code contract test harness

Made all contract violations be raised as ContractExceptions, which means we
can't check their types in unit tests