Split _parse_yaml_config into loading and parsing parts

In order to be more flexible and easily unit testable, split the loading
of the furious.yaml and the parsing of the yaml into two separate
functions.  This will reduce the required patching of file loading stuff
required, and make it possible to support other config loading
mechanisms.
Clean up config tests
Add check for InvalidYamlFile
Add test furious yaml file
Fix comment formatting and relative imports
Merge pull request #59 from johnlockwood-wf/config

Clean up config tests
Improve formatting for readability
Merge pull request #61 from johnlockwood-wf/config

Improve formatting for readability
Merge branch 'master' into queue_runner
No longer check if task modified the environment

We were verifying a user's async task did not leave os.environ in a
modified state after each task was run.
Since 3rd party libraries sometimes modify os.environ, this check
isn't easily enforceable.