Added the soypak help command. When called, it will provide the user
with help information about the soypak command(s) provided as arguments.
- Implements a `__doc__` attribute with summar and usage.
- Overrides the `run()` method from `Command` when inherited.
- Inherits `command.Command` and metaclass `RegisterCommand`.
Module is responsible for allowing the creation, registering and
initilisation of soypak commands.
Added class@RegisterCommand:
- used by command classes as a metaclass. Will be auto-invoked upon
the class' declaration.
- checks if a command is registered already with an existing name.
- uses the class' `__doc__` attribute to register an entry on the
help display message with name and summary.
Added class@Command:
- Inherited by command classes.
- Keeps record of the registered commands and the instance of the
class which can then be invoked during `get_command()`.
- Command@get_command (static method): find and return an
initialised instance of a command that has been registered.
Otherwise return `None`.
- Command@run (virtual): to be implemented on a child class of
`Command`.