Update cache.py

johnny.cache.get_tables_for_query_pre_16: use a set as the base tables collection before entering recursion, thus avoiding a MemoryError should the WHERE descendant list go too deep.
johnny.cache.get_tables_for_query: Use a set as the base collection for gathering table names.
Merge pull request #65 from radicalbiscuit/hotfix-too-many-where-children

Use sets rather than lists when getting tables for query.