Annotation command infrastructure improvements
Includes using a TreeMap instead of HashMap in ParentCommand (case
insensitive comparison of strings for the win)