Moved all code from state classes to connector

Apart from the reshuffle, everything was more or less left
as is, as much as possible.

This is a WIP commit, the project does not compile.
Rearranged NpgsqlConnector code

- Grouped relevant methods in #regions
- Converted some fields/properties into auto properties
- Removed the Supports* properties: we support Postgresql >= 9.0 and
  all features are supported.
- Killed NpgsqlNetworkStream, just use NetworkStream

This is a WIP commit, the project does not compile.
Redid connection/connector state management

- Redefined state as an Npgsql-specific enum on the connector.
  It's the single source of truth on state.
- The state now tracks query state as well, with the values Executing
  and Fetching. Previously the reader was checked to know whether we
  were fetching.
- NpgsqlConnection.State now returns the Connecting value
- NpgsqlConnection.FullState now returns ConnectionState's reserved values
  (Executing and Fetching, Broken to be added)
- Removed some remaining legacy code for pre-9.0 backends

All unit tests pass