header on dbcore.py
reorganize dbcore into a package
tests: silence logging output
new dbcore.query module

Splitting off the Query hierarchy for easier navigation.
move remaining generic Query types to dbcore.query

NumericQuery is still broken. This, of course, is the whole reason for the
change.
add `query` field to types

This is starting to get at the heart of the matter: now each type gets to
declare which Query subclass it wants to use, starting with NumericQuery.
use PathQueries declaratively

Now PathQuery is just another type-based query, just like NumericQuery.
remove superfluous py_type field from Type