commands: Created a list of global options (for options owned by commands package)
commands: Use global options when registering and calling commands
commands: Added global options list to command tests
commands: Added Response
commands: Updated Command to use Response for output rather than (interface{}, error)
commands: Updated Command tests for new Response API
commands: Added basic methods to Request
commands: Added an Error struct for creating marshallable errors
commands: Added marshalling to Response
commands: Wrote tests for Response marshalling
commands: Added Request#SetOption so we can set options with multiple names
commands: Updated Response test to use safer option setting
commands: Added error marshalling to Response
commands: Added test for Respone error marshalling