Refactoring to add testing and the ability to import more paths

In particular, to improve the behavior of folder-level tasks (like defined in `foo/__init__.py`) and for global scripts in `~/.shovel.py` and `~/.shovel`

I have yet to check on `shovel-campfire` and `shovel-server`, but I have a feeling that 1) these utilities aren't used very often and 2) should be moved into their own repos.