Refactored pool/connection + pool timer on demand

- Allocating of non-pooling connections was being done
  in NpgsqlConnection, moved that code to NpsqlConnection.
- Since the pool's timer was being started statically,
  opening a non-pooling connection would start the pool's timer
  (bug #1011326).
- The pool's timer is now started on the demand, when a pooled
  connection is first requested. When no more connections remain,
  the timer is stopped.
Indentation and empty newlines in StringBuilder
More consistent key/value parsing in NpgsqlConnectionStringBuilder

.NET's DbConnectionStringBuilder, which NpgsqlConnectionStringBuilder extends,
trims strings values and discards pairs with empty ones. However, NCSB's setter
behaved differently, adding empty strings, leading to inconsistent behavior
(bug #1011001).

Modified NCSB's behavior to be consistent with DCSB - trim and discard empty.
Merge pull request #16 from roji/decouple_pool

Refactored pool/connection + pool timer on demand
Merge pull request #17 from roji/bug1011001

[#1011001] More consistent key/value parsing in NpgsqlConnectionStringBuilder.
Added ignored files.
Added Monodevelop per user  settings file to list of ignored files.
Removed a line with a GUID value which was causing problems to be open by Monodevelop.

More info about this problem can be found at: https://github.com/mono/monodevelop/pull/232
Merged https://github.com/franciscojunior/Npgsql2/pull/6 from roji.

Pull origin: https://github.com/roji/Npgsql2.git branch xbuild

Original commit message:

Added Mono-Debug and Mono-Release msbuild configuration for use with xbuild

Appears to build just fine! I also tried to muck around with MonoDevelop but it has some trouble with the EmbeddedResources, will try to take a look (less important). This could be a first step for getting rid of both the NAnt and the mdp/mds...

Note that the unit test project doesn't build on Windows, seems like these need to be cleaned up
: error CS2001: Source file xmlModel/XmlTest.ObjectLayer.cs' could not be found
: error CS2001: Source filexmlModel/XmlTest.Views.cs' could not be found
Changed project settings to compile a library instead of executable.
Fixed configuration mapping between solution file and project files on Monodevelop.

Monodevelop was complaining about configurations mismatch. I redid the configuration matching and everything was ok again.
Added some paths created by VS.Net to be ignored
Fixed more Monodevelop configurations mismatch. Mono-Debug, Release and
Mono-Release. Last fix was only for Debug
Added conditional #ifdef ENTITIES to nunit tests related to EF. See
https://github.com/franciscojunior/Npgsql2/pull/6 for more information.
Fixed nunit assembly paths of NunitTests2010 project.
Fixed connection tests so they don't start to raise errors about
too many used connections.

Postgresql has a limit of max connections allowed. This fix keeps the
connection usage inside the max value of connections in the pool which
is 20. This way tests won't start raising errors about too many used
connections
Fixed tests when running under mono.

All transaction related tests were failing under Mono. A
NotImplementedException was being raised. Now, those exceptions are
catch and ignored so tests don't return errors.
Changed NAnt build file to use App.config when running nunit tests. Also
removed a trailing semicolon from the tests settings which was causing
problems.

By making NAnt use App.config file, Npgsql tests run either by NAnt
console project file or by running nunit inside IDE (like Xaramrin
Studio) will use the same file and changes will be reflected in both.
Before that NAnt was using different files.

A trailing semicolon in the app settings config for connection string
was making Npgsql throw exceptions about bad formatting.
Added [Ignore] to some tests which weren't working. Thanks Shay for
feedback. See Pull Request 18.

A lot of tests were not working and based on Shay's feedback
https://github.com/franciscojunior/Npgsql2/pull/18 those [Ignore] flags
were added in order to get all tests green. Those failing tests were
giving us trouble to identify regressions.
Add support for new error fields added in PostgreSQL 9.3

This makes the new error information available in the Exception class
which allows the calling code to, for example see which constraint would
be violated by the request.
See PostgreSQL commit message for more details on what extra information
is available and when. This commit only captures the extra information
when it's there.

http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=991f3e5ab3f8196d18d5b313c81a5f744f3baaea