Added Visual Studio 2012 project and solution files.
.gitignore goodness.
Save last socket connect exception so it can be rethrown after all attempts have failed, wrapped in NpgsqlException.
Removed try/catch construct around almost entire Open() function as it's not apparently needed anymore.
Re-implemented the exception wrapper, but in a better way.
Reverted back to a single .gitignore file.

Removed /src/.gitignore.
Updated /.gitignore.
Formatting corrections
ConnectionTimeout work

Use the Dns.BeginGetHostName() so we can respect ConnectionTimeout.
Keep track of how much time is left to connect so that multiple timeout-able calls will not cause it to be exceeded.
On timeouts, throw TimeoutException.
Removed ResolveIPHost() as it's called only from one spot.
Added a new dns timeout message to NpgsqlState.resx; not localized.
Format fix
Connect timeout work

< int > Int32.
Rather than giving each socket connect all remaining time, split the remaining time between the remaining ip's.
Clean up

Removed unneeded using System.Diagnostics.
Camel casing.
Merge pull request #30 from glenebob/master

Project/solution files for vs2012, .gitignore updates and changes to connection timeout handling.

Adding project/solution files for VS2012 and .gitignore stuff.

Improved the error handling in NpgsqlClosedState.Open().

Changed connection timeout handling to take in consideration the time spent in the dns lookup as well as the time to connect to the many ips addresses which can be returned from this dns lookup.