Allow SSH commands to be registered dynamically

A new top level command can be added to the DispatchCommandProvider
that has the annotation @CommandName(Commands.ROOT). Once registered
it can be removed later by calling remove() on the supplied handle.

Change-Id: I8e60aa0f19e16ca3f21926b03f0be46537b5ef7a
2 files changed