Make VirtualUnit a DescribedEntity so it can have its own descriptions.

Note: there is a critical direction of relationship distinction between
a virtual unit with its own descriptions and one which only references
the descriptions of real units. 'Dependant' descriptions have an outgoing
'describes' relationship to the VU whilst referenced ones have an incoming
'isDescribedBy' relationship from it. This must be observed, otherwise the
wrong description will be deleted when the VU is deleted.

cc: @lindareijnhoudt.
Add (experimental) means to get virtual collection membership from
a desription, and rearrange fixtures.
Don't automatically serialize connected units. It's complex and potentially
unbounded. Instead, add a WS method to fetch them for a given item.
Automatically fetch repositories for a VC
Some early moves toward #36.
 - make SystemEvent.getActioner return a single item
 - add a way of determining if two events should be compressed
Start some docs on the permission system
Fix language typo
Bring concept and vocabulary models up-to-date by preventing
duplicate relationship creation.
Initial draft of RDF-friendly SKOS importer
Add more SKOS bits, and handle (lack of) language more gracefully
Merge branch 'master' into acl_graph
Merge branch 'master' into skos-importer2
Ensure there are no loops in broader/narrower relations
Convert the vocab import to use *just* the OWL API.

This removes the non-Maven dependency on java-skos-api.
Add a test file
Various changes to match the behaviour of the existing SKOS importer.

Many bugs remain:
 - unicode problems - I am not sure unicode is working at all
 - wp2 keywords file is returning an empty ontology
 - extraction of lat/long is extremely dubious
Switch to Jena for parsing RDF due to bugs with OWL API.
In-progress work on Jena SKOS import and fixing resulting fallout.

SKOS import with Jena seems to work fine (rough edges notwithstanding).
Unfortunately, Jena comes with Xerces that has subtle differences to
the reference (Sun) SaxParser that got used previously. This has broken
some of the SAX-based importers. One fix involved using the qName of
attributes instead of the localName (which is apparently blank when
not using namespaces). This leaves an outstanding problem with whitepspace
around entities and an as-yet undetermined problem with some WP2 stuff.

As a move toward a fix, the SaxXmlHandler now implements the LexicalHandler
to be notified of entity events. Hopefully this will help in determining how
whitespace is being stripped and where.
Ignore WP2 tests for the time being (since they're being worked on).
Fix for whitespace handling when using Xerces parser.

 - Use a StringBuilder for concatenating the char buffer
 - Don't remove whitespace-only char strings because these become
   significant when they have a set of chars on one side and an
   XML entity (e.g. a quot) on the other
 - Normalise whitespace with StringUtils before its added to the
   graph.