This patch adds support for storing the type of command which is going to run in
the func object. For this it does the following:
- Add three possible values as attributes to the registrar.command class
- Add a new argument to registrar.command._doregister function
- Add a new attribute cmdtype to the func object
The type of command will be helpful in deciding what level of access on hidden
commits it can has.
Might be worth a comment describing what these mean, since it's not obvious without context.