smart query caching and cache size options
optimize smart caches for better performance
nested comparisons
added query.each function
documented QueryAny class
Store data as a dict now (see #13)
Added test that ids stay unique
Improved Element.__repr__()
changed syntax and simplify implementation
Add support for nested dicts (see #10)
added support for negative cache sizes
use None or falsy value instead of -1 for turning of cache limit
Merge branch 'eugene-eeo-nested-comparison'

Conflicts:
	tests/test_queries.py
	tinydb/queries.py
Refactoring, added docs, removed dot syntax

Cleaned up code and removed the dot syntax as discussed in #10
Merge pull request #14 from msiemens/data_as_dict

Store data as a dict now (see #13)
Merge pull request #11 from eugene-eeo/query-cachesize

Smart caching and cache options
Fixed .update and .remove when using smart_cache
Moved smart_cache functionality to own class