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
Bump version to s28.4
Merge pull request #1347 from reciprocity/feature/version-sprint-28.4

Bump version to s28.4
Merge pull request #1346 from reciprocity/feature/fix-audit-creation

Fix audit creation and memcache-related issues
In `findAuditors`, bail out if an instance is not loaded
Merge pull request #1348 from reciprocity/feature/fix-audit-script-error

In `findAuditors`, bail out if an instance is not loaded
Temporary fix to avoid script error on Audit create
Merge pull request #1350 from reciprocity/feature/fix-other-audit-script-error

Fix other audit script error
Merge remote-tracking branch 'origin/release/0.9a28' into develop

Conflicts:
	src/ggrc/assets/javascripts/models/simple_models.js
	src/ggrc/settings/default.py