set_file_and_dir(): now takes optional _pry_ and target args
refactor cat command

Put each output formatter (input expression, exception, file) into its own class.
Merge branch 'master' into wip.refactor