Remove Tools/vssdk*_tools/inc folder.

This folder contains only .h files which aren't used by Npgsql and takes a large space.
Fix query parameter processing to more correctly match PostgreSQL's lexer
Parameter substitution processing: if we detect multiple statements in a query that is not allowed, quit immediately. Also improve readability.
Parameter substitution processing: fix a small bug in dollar quoted string processing.
Parameter substitution processing: don't touch output parameters.
Remove pdb files from Tools folder.

Those files aren't used and they only increase project size.
Fix milliseconds field handling when using NpgsqlCopySerializer.AddDateTime() method.

Fix #221
Npgsql wasn't formatting the milliseconds field correctly when sending a DataTime to server.
Thanks @stewienj for the patch.
Merge pull request #315 from Emill/query-parameter-processing-rewrite

Fix query parameter processing to more correctly match PostgreSQL's lexer
Merge pull request #293 from franciscojunior/292-remove-tools-vssdk-inc-folders

Remove Tools/vssdk*_tools/inc folders.
Merge pull request #318 from franciscojunior/remove-tools-vssdk-pdb-files

Remove pdb files from Tools folder.
marked NpgsqlServices as public so it can be used in DbConfiguration classes for EF.
added directive to make NpgsqlServices public if it is being compiled for EF 6
Merge pull request #319 from franciscojunior/221-fix-adddatetime-milliseconds

Fix milliseconds field handling when using NpgsqlCopySerializer.AddDateTime() method.
Merge pull request #325 from PrecisionDevelopment/master

Marked NpgsqlServices as public
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

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 as per MSDN docs
- 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
Add unit test for command cancellation

Thanks @franciscojunior for clarifying in #314.
Merge pull request #329 from roji/state_refactor

Refactor connection state management (#326)
Small fixes to state code

Mainly for compiling on pre-NET 4.5