Added path expansion to blocks.

This includes modification of command.py to take a file_root as an
argument, and locations.py to identify not only absolute paths, as in
os.path.isabs, but also those prefixed with variables.
Changed access to block attrs to use get() and set() accessor and mutator.
Switched to use BlockExceptions instead of asserts in block.py

Also added better comments to block.py
Merge branch 'feature/relative-path-expansion' into dev