Added the `RespectTypes` option and added some tests.

This is a "crazy" idea that I had not long ago. Basically, it's a bit silly that all the data fetched through the pg_fetch_* functions are strings, regardless of the type in PostgreSQL. Therefore, I've decided to add the `RespectTypes`. It's an option that defaults to false. This means that by default everything will work as always.

However, if the user sets it to `true`, then the returned types match the original types from PostgreSQL. I have included a detailed explanation in my fork [here](https://github.com/mssola/hhvm-pgsql/tree/types#postgresql-types).

Moreover, since the implementation might be a bit tricky, I've added a test for this. But, since we didn't have a proper test suite, I've created one myself :D I have explained how to run the tests also in my fork [here](https://github.com/mssola/hhvm-pgsql/tree/types#running-the-tests).