Permission inheritance

* Optional get_permission_parents() method on content objects to supply
  a chain of parent content objects from which permissions should be
  inherited

* Tweaks to backends.py to accomodate content trees