2986: Cleaned up arv cli help to be more helpful and consistent.  refs #1667.
2986: Make arv-run-pipeline-instance be nicer to the user when run without
command line parameters.
2986: Implemented "arv edit" command.  Refactored 'arv' to be easier to follow.
Changed control flow of command line processing so that trollop gets a chance
to see command line before subcommands.  Improved help text for subcommands.
2986: Can now specify which fields you want to edit, because fields like 'uuid'
and 'modified_at' are not updatable.
2986: Writes tempfile with appropriate extension so editor can apply proper editing mode.
2986: Report parsing errors and print out contents instead of just blowing up.
2986: Restored "arv pipeline run" subcommand.  Arv edit will now ask you if you
want to retry if there is parse error.  Fixed capitalization of Arvados.
2986: Handles collection ids in 'arv edit' (tells the user collections are not
editable.)  Added error message when subcommand or resource is
unrecognized. Removed old reference to removed command line parameter
global_opts[:resources].
Merge branch '2986-arv-edit' closes #2986