[New] Implemented Command.undo() for all commands
[New] Implemented StrolchTransaction.addCommand(), Command.undo()

Commands are now supposed to be added to the StrolchTransaction so that
when a TX is committed, the commands are first verified and then
Command.doCommand() is called.

But most important of all, in case of an exception, Command.undo() is
called so that each Command can properly undo its changes so that also
in memory changes are rolled back.

Now all Services call tx.addCommand(Command) instead of directly calling
Command.doCommand()