Various hacks necessary to support querying arbitrary items by id.

This kind of thing really shows how inflexible the current API is, and
we need to fix that by removing the scope of the "framed" items to very
specific parts where it is a very big convenience over working with raw
vertices.
Add sanity check for escaping
Playing around with the (currently terrible) mechanisms for fetching
generic resources. This is because we need to support duplicate items.
Switch back to commons.lang 2.4 for Neo4j compat
Return the affected object from Access operation (instead of nothing)
Remove unused cruft
Add the REST interface for the Authority/CPF (Isaar) model. Also made
some alterations to the model itself so that the entity type is part
of the description - it's plausable we'll want to omit this for
placeholder items. Most CRUD and tests copy/pasted from Repository
resource.
Merge remote 'generic_resources_for_search' of github.com:mikesname/neo4j-ehri-plugin
Merge branch 'master' into generic_resources_for_search
Although worryingly in the realm of magic, and perhaps asking for
serious inefficiencies, increase the level at which item history
is serialized. The immediate rationale for this is that we want
item history on search results, but since there the description (not
the item) is the first item to be serialized, the history of the
item is not included.
Fix test that depended on (unreliable) iterator ordering
Upgrade to Neo4j 1.9.M05
Clean up REST mapping of PermissionDenied errors.
Partial cleanup of still-horrid permission constructors/throwing args
Fix a surprise bug where attempting to filter on the same property
twice would cause a crash, due to the SortedMap being unable to
determine the order of two equal keys.
Fix wrong log string (TODO: Refactor these things.)
Add a test for generic resource retrieval.
Add fixme
Ignore neo4j app installs
Set up test DB properly