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.