Minor modification to string formatting by CalendarUtil: years now
stored as four chars to future-proof against Y2K-type bugs! (Tests are
using dates in the year 2100 for future meetings...)

Implemented more tests for DataUtil, loading and saving now pass tests
after one round of bug-fixing:
whilst traversing nodes in the DOM tree we need to check that the node
type (retrieved with getNodeType()) of the node we have a reference to
is == ELEMENT_NODE before attempting to access attributes etc., as there
are hidden text nodes I was unaware of (representing white-space I
think?) that were causing NullPointerExceptions.
that