Edits to keep code DRY

- Overrode say_status and system methods to put checks for options[:quiet] and options[:pretend] in one place.
- Edits to make sure that shell.say_status is not called since this does not invoke the overridden say_status method. Edits to tests as a result of this too.
- Removed all uses of 'unless options[:pretend]' and 'unless options[:quiet]' since this is now handled in the overridden methods.