Make the command interface a little more robust

Added three optional values minArgs, maxArgs and description.
minArgs and maxArgs are used to validate arg count before calling a
command and displaying help if the number of arguments aren't in the
range.
description is displayed with over all help to help describe a command.

This also converts help from a method to just a string since that makes
more sense.
Take advantage of the new command interface
Merge pull request #6 from n3world/robustCommand

Make the command interface a little more robust