Extract `parse_arguments` method from CLI constructor

The CLI `initialize` method handled the verbose and help command line
switches in a somewhat hacky way by storing an array of arguments to be
passed to `send`.

This has been changed to instead execute the appropriate command inline
within the `OptionsParser.new` block inside a `parse_arguments` method,
and to have the main application execute `parse_arguments` followed by
`run`.

To support this separation of concerns, the specs for CLI have been
rewritten to mostly test the `parse_arguments` method, ensuring that it
sets the appropriate options so that when the `run` method is called
those options are passed in to the `Runner`.

Change-Id: Id5bd70e5725957d21aa1f9d61bd332012812be01
Reviewed-on: https://gerrit.causes.com/19726
Tested-by: jenkins <jenkins@causes.com>
Reviewed-by: Tony Wooster <tony.wooster@causes.com>
Reviewed-by: Aiden Scandella <aiden@causes.com>