Create <office:meta> only on demand (and merge MetadataManager into OdfContainer)
Merge pull request #242 from kossebau/createMetaOnlyOnDemand

Create <office:meta> only on demand (and merge MetadataManager into OdfContainer)
Add functions isAnnotation and isAnnotationWrapper
to OdfUtils.

Add a function isInlineRoot to OdfUtils, which
indicates whether an element constitutes a 'root'
as respected by the RootFilter. In gui-less mode,
<office:annotation> is such a root, and in gui
mode, where we wrap annotations, we should also
treat the div with class "annotationWrapper" as
such a root.

Inline Roots are to be treated just like character
elements or frames with 'as-char', therefore add
a check for those to isCharacterElement as well,
alongside the one for isCharacterFrame.
* Use the new isInlineRoot method in OdfUtils, to
determine walkability around annotations via
the TextPositionFilter.

- In checkLeftRight, now that positions to the left
and right of an annotation are walkable by default,
block the position to the right of an annotation
if there is a grouping element (span, annotation
highlight, etc) to the right.

- Thus, now you can step to both the left and right
of a rangeless annotaiton.
If the annotaiton has a highlighted range, the cursor
won't be able to step between the <office:annotation>
element and it's annotationHighlight, so there
can be no strange text insertion there, and no
rewrapping is required over the newly inserted text
as it goes straight into the highlighted span
like everywhere else.

* Add tests to OdtDocumentTests for cursor positions
around annotations.

* Add tests to operationtests.xml (mostly bumping up
the positions of SplitParagraph operations after
adding annotations, now that 1 new position is exposed.
* Rename OdfUtils.isCharacterElement to
OdfUtils.isAsCharacterElement, which reflects
the fact that it checks for elements which
are 'as-char' (the way frames can be anchored),
in that they have the same kind of surrounding
positions' walkability as any character element
like spaces or tabs.

* Fix wrong documentation for this method.

* Update tests to reflect this, and also test
annotations and annotation wrappers.