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.
Sync fork
Modified NpgsqlConnection to support Entity Framework 6