commands: Made Command#GetOption method, for getting all options for a given command path
commands/cli: Renamed parse functions to parse*
commands/cli: Refactored parsing to always get the command path at the beginning of the CLI input
commands/cli: Fixed tests for refactor
commands/cli: Added value parsing for single-dash options
commands/cli: Added test for single-dash option value
commands/cli: Removed parser string handling since the go runtime handles it for us automatically
commands/cli: Pass option definitions as an argument to parseOptions
commands: Refactored to make Request contain command path
commands: Added Request#SetPath method
commands: Added option value conversion, and moved option validation logic into Request#convertOptions
commands: Fixed tests
commands: Added a option validation test for convertible string values