Tables existence check query is executed in large quantities

When Rails starts, tables existence check query is executed number of models.
In case of mysql,

    SHOW TABLES LIKE 'table1';
    SHOW TABLES LIKE 'table2';
    SHOW TABLES LIKE 'table3';
    ...
    SHOW TABLES LIKE 'table999';

Add process to get the names of all tables by one query.
actually the entire method could be something like:
```ruby
def table_exists?(name)
  prepare_tables if @tables.blank?
  return @tables[name]
end
```