Added annotator pattern.

The annotator pattern enables rapid creation of new functions which
can be used to short-cut the creation of annotations.
Ability to annotate axioms added.

Previously it was not possible to annotate axioms, as they were
generally lost from the return values, as tawny is entity centric.
Annotations are now bundled with entities and then used when axioms are
created.
Annotations on characteristics, data types.

We now support annotations on characteristics of properties, literals
and so on. At the same time support for broadcasting has been added so
that it is possible to annotate multiple axioms at once.
auto-save now saves current state.

Previously, the auto-save function only saved after a change happened.
Now it saves immediately also. An option has been added to prevent this.
Command to remove name annotations from current.

This removes existing name annotations and set options to stop
future annotations being added. These annotations are somewhat
irritating when using tawny interactively, so being able to remove these
after the fact is a useful skill.
Merge from branch