Fixed: updateDocument checks to see if the root element is set before proceeding
Fixed: setDocument will throw an exception if the root is not set

Previously, when adding an element to a document it wouldn't matter if the root element was not set.

This fix raises an exception if you try to add an element to a document where it is not set.

The exception, DocumentRootNotSetException, is now thrown when you attempt to add an element to a document with no root. This exception could be caught and the root set before proceeding.
Fixed: When adding an element to a document, all ancestor elements have their document pointers updated

Previously it was possible that moving a tree from one document to another would only update the immediate child elements, and not all descendants as well.

This fix ensures that all descendants of the element being added to the document have their document pointer updated.
Fixed: A more descriptive error is provided when a document cannot be exported due to an unset root element
Fixed: It is now possible to pass in a message to the DocumentRootNotSetException
Tests: New unit test to check the behaviour of a document that does not have its root element set
Test: Updated document unit test to pass for MEI 2013
Tests: Update lookBack unit test with new behaviour
Test: Update XmlExport tests to pass with MEI 2013
Tests: Update C++ tests to work with MEI 2013
Tests: New test to ensure document setting behaviour is correct
Tests: New test to ensure loopback behaviour is correct
Tests: Updated document test to MEI 2013
Fixed: libmei project file should now build with 10.8 as the target

Building for 10.9 has created problems with gtest, since Mavericks uses libc++ and gtest uses libstdc++. OSX prior to 10.9 used libstdc++.

libmei will build with either, but running the unit tests requires building with libstdc++.