ENH: add schema support to sql functions

Related #7441. Work in progress for now

Add support to read/write data from/to a specific database schema through a `schema` keyword. If this is `None`, use the default schema as before.

- [x] support via a `schema` arg in the `read_sql_table` and `to_sql` functions
- [x] not for `read_sql_query` -> is this needed? (this is a direct `execute`, and I don't directly see how this can be aware of schema's) -> indeed not
- [x] tested for postgresql
- [ ] test for other databases (mysql and sqlite don't support schema's -> so can't test on travis)
- [x] docs
- [x] Cause of the failure at the moment: `schema` as arg for `MetaData` is only introduced in sqlalchemy 0.7.4. We test on 0.7.1 => raise required version
For now, I don't check or catch anything here in pandas, but just let sqlalchemy (or the underlying dbapi driver) do the work.

So for sqlite, using `df.to_sql('test', engine_sqlite, schema='other')` gives you `OperationalError: (OperationalError) unknown database "other" 'PRAGMA "other".ta
ble_info("test")' ()`

For mysql, it actually does work. Mysql does not have a distinct 'schema' concept, but schema is actually some kind of alias for table. So using `schema` with mysql just accesses other database tables than the one the connection/engine was set-up with.