Add Role, FieldPermission and Instance.default_role
Add Authorizable mixin, rework object heirarchy

Add model mixin Authorizable to handle user authorization of
model level permissions. Model has methods for validating
a user's ability to edit a field.

Factor out UserTrackable class from Auditable to also be used
by Authorizable.

Add Authorizable inheritance to Plot and Tree.
Add tests for Role, FieldPermission, Authorizable

Update permissions in existing tests and refactor setUp
to be more DRY.