fix debug for invalid return type
change requirement to be for an OptionDeclarer instead of an OptionParser
update test cases
Merge pull request #18 from Eluinhost/feature/options-class

Replace OptionParser with OptionDeclarer in command option methods