Subcommands flag parsing errors print subcommand usage and not root's command usage
small formatting change to readme
Subcommands flag parsing errors print subcommand usage and not root's command usage

Conflicts:
	command.go
In execute(), check if command is Runnable()

A corner case exists where c.Runnable() is not checked
before c.Run() is called, thus a nil c.Run is executed
leading to "panic: runtime error: invalid memory address
or nil pointer dereference".

This patch adds an extra c.Runnable() check in execute()
to catch that corner case.

Fixes #37.
Code commentary