added owns_descendants? to user.
added tests.
possible TODO: optimize query for owns_descendants?
added propagate to permissions controller.
added tests.
tests passing.
added a lot more tests for propagating permissions with permission create, update and destroy.

implemented the above.

tests passing.

probably ready to merge to master.