Add support for nested comparisons

Added support for nested comparisons in the `where` object, and simplified the codebase drastically. Nested comparisons was inspired by [this](https://github.com/msiemens/tinydb/issues/10) issue. As proposed in the issue the syntax is:

```python
query = where('user.name') == 'John'
assert query({'user': {'name': 'John'}})
```