Rationalised data model so that ReviewTreeEditable is primary review
object.
ReviewUserEditable is primary review building block.
ReviewUser is static getter-only (published) version.
Separated out interface for getters (Review) and setters (abstract class
ReviewEditable).
Added publishing mechanic that stamps Reviews with Author and Date.
Performed via VisitorTreePublisher on ReviewTreeEditable node.
Returns ReviewNode of ReviewUser objects stamped with Author and Date.
Administrator object owns Controller, Root node.
Removed ReviewMeta as really only ReviewTreeEditable needed.