Fix #776 - Change how can_edit works

Will now check the Stage recursivly, then Live.
This is still in need of refactoring, but fixes the immediate issue.
This is not the correct way to scaffold testing objects. Either use yaml or let the pages generate their own IDs.