Allows for force-application of a macro even if it hasn't been changed

The :LivemacroUpdate command will rerun the macro even if its content is not
changed from before. Since this command was already in the helpfile but didn't
actually exist, adding it is a good change!

The previous meaning of :LivemacroUpdate, as documented, was simply to do the
same thing as the InsertLeave and CursorMoved events normally fire on the
livemacro, which won't rerun the macro if it hasn't changed. (Since it didn't
exist, it didn't actually do that.)
Documents changed meaning of LivemacroUpdate
Refactoring of behaviour into Livemacro class
Adds ability to cancel a livemacro in progress, restoring the original value of the register
Documents :LivemacroCancel
Added tag 0.0.2 for changeset 00c394b39adf