ISIS-781: editable view models via ViewModel.Cloneable interface.

For those view models that implement Cloneable the wicket viewer is able to simulate editable objects by replacing the adapter memento held within the EntityModel with a new one created by cloning the mutated state of the initial view model.

Demonstrated using a new ToDoItemWizard in the todo (quickstart) app.
ISIS-781: cosmetic refactorings/reformattings

no functional changes.
ISIS-781: utility class for wicket (currently unused)
ISIS-781: minor tidy up in quickstart app.
ISIS-800: Wizard interface, facet, todo app example

when rendering as a view model, suppress the Wizard methods as actions.
ISIS-800: wizard now implemented.

More or less there.  One minor issue is that can't disable reference panels dynamically; wanted to have a ToDoItemWizard#subcategory that would show, disabled, if populated by the 'updateCategory' action.
But this is a niche use case; I think what is there is probably good enough for most.