Add automatic partition prunning

- Works with joins
- Never faild query for automatic partition prunning
- Compatibility with several auto partitioning columns which correspond
to the same column (e.g. year, month, day, ..)
- Compatibility with all functions (without params)
- Full compatibility with between clauses
- Time ranges with <, <=, > and >= are efficiently treated
- More and better error messages