DB backend, improve & doc: redesign

- redesign representation of parent selectors
- db.compile_selector() does not accept 'statement', but 'selector'
  instead
- remove unnecessary function arguments
DB backend, improve & doc: re-design db.merge_conditions()

- db.merge_conditions() is called separately for each object type -
  object type is no longer passed, only list of conditions