Move to Config-based Snoop Class

The Snoop class is now based on the Config class (or a path to one) rather
than taking options and a base path and all that stuff and creating a config
internally.
Fix Bug in Options
Move Directory Handling to Snoop Class

The Snoop class has enough information to handle changing to the right
directory to run the commands from now.
Update Frontend

Update the command line script so that it now works again. The heavy lifting is
now out of the script's hands.
Remove Unnecessary Block

Learning more about Ruby syntax as we go here.
Improve Error Messages

Add a bit more context to error situations to make them more debugable.