Added viewpoint validation function, ticket: #3040183
Added a show for export viewpoint to freemind.
Fixed validation function bug. Should allow topic.broader be null.
REFACTORING: Mustache library added.
REFACTORING: Document update validation.
REFACTORING: Viewpoint formatting to be reused.
REFACTORING: Recursive structures make Mustache unusable.
FIX: Topics with an empty array of broader topics

should be displayed as the upper topics of the viewpoint.
FEATURE: Display an item as an HTML page.

If JSON flavor is not explicitly asked for, Whole viewpoints are shown as nested lists, and topics that are bound to the item are displayed as bold.
FEATURE: Display attributes in the HTML flavor of an item.
FEATURE: Display a user as an HTML snippet.

If JSON flavor is not explicitly asked for, an HTML snippet displays the user's login and registered viewpoints (as nested lists).
FIX: In JSON, viewpoints should include items and highlights.

Regression introduced by commit 4e2e6d91acce08cd002b00533a6aa29df279504e.
REFACTORING: Reduced memory use when sending JSON.
REFACTORING: Remove unused data from JSON payloads.

Included "docs" are only useful for HTML payloads.
FIX: Broken HTML representations.

Closes #7.
Closes #8.
Closes #9.
FEATURE: Freemind representation of a viewpoint.

Part of feature #3.
FIX: XML entity payload (v1) with quotes in attribute values.
FIX: HTML representations should mention Hypertopic IDs and classes.
FIX: Bound topics should be bold in the HTML representation of an item.
REFACTORING: External stylesheet to get cleaner HTML.