BUG: pandas.read_sql missing table schema input
This specific method wraps around the _read_sql_query_ and _read_sql_table_ methods, where _read_sql_ checks if the sql parameter contains a valid table name, if not it assumes that the sql parameter contains a sql query, hence it routes the request to _read_sql_query_.

I'm using a SQL Database, hence _read_sql_ uses [_SQLDatabase.has_table_](https://github.com/pandas-dev/pandas/blob/master/pandas/io/sql.py#L1726) method to determine whether or not a valid table name was provided as part of the sql argument. 

The problem here is that the following line in the _has_table_ method requires a table schema name(if default schema table is not used) 
`return insp.has_table(name, schema or self.meta.schema)`
but there is no schema name passed when instantiating the _SQLDatabase_ class nor is a schema name given when calling the _has_table_ method from _read_sql_. 

In order to solve the bug the following could be done,
1. Add a _schema_ parameter to the read_sql method (similar to that of read_sql_table)
2. And then [this line](https://github.com/pandas-dev/pandas/blob/084c543bf9e70ed4f2ce1d4115b9959f7ae0c396/pandas/io/sql.py#L573) should be updated to this - `_is_table_name = pandas_sql.has_table(sql, schema)`