Added a simple version of the core salve script.
Support for propogating config through blocks, moved salve.py out of src

This is a modification to ManifestBlocks, which need to support
expansion prior to runtime so that config errors and parsing errors are
apparent before any actions are run.
This includes a few new tests for ManifestBlocks that have been waiting
for this functionality.

Moved script to top level because it simplifies importing nonsense.
Converted the main salve script to a module in src

This is done in order to support unit testing. Now the salve script
will simply import this module and run its main() method.
Includes a decomposition of the main script into component functions.
Merge branch 'feature/commandline-program' into dev