Fix the mustache template for Audit creation

* CanJS doesn't support `{{^if ...}}` with `{{else}}`, so template
  wasn't working as expected
Fix context-setting and subsequent errors

* Previously `audit.context` was set by assignment rather than with
  `attr`, which did the wrong thing when serialized
* Once set correctly, the call to `attr("context", <context>)` broke the
  "authorizations" binding, since it was based on `context`, so added
  the same listener as for `ProxyListLoader`
* Once the "authorizations" binding was fixed, the `infer_roles` helper
  occasionally sometimes duplicated the "Auditor" entry, so ensured that
  "Auditor" was present in the list at most once
Ensure cached `context` is expired when `UserRole` changes

* Previously, cached `context` resources would cause invalid `UserRole`
  lists to persist after adding or removing a role assignment
Don't use `__include` on mutable resources, for now

* Memcache doesn't handle it correctly
Remove eager load of `Person.user_roles`

* Memcache doesn't handle included resources correctly yet
Merge pull request #1346 from reciprocity/feature/fix-audit-creation

Fix audit creation and memcache-related issues