GetSchema() connections are properly disposed

- NpgsqlConnection.GetSchema(...) now always disposes the temporary
  connection it allocates
- Fixes bug #1011334
- Converted NpgsqlSchema to the static class which it is
- Added test for GetSchema() during read