Add annotations to control annotated command's position in command tree

* add a Parent annotation to specify to which parents the command should
be added and what child name should be used
* add an autoParent argument to the CommandDescription annotation to
allow disabling the default way of finding the command a parent and
child name

The Parent annotation takes arrays of parents and child names, because
unfortunately we don't have repeatable annotations in java 7.