add __setitem__ for custom ChainMap

The ChainMap acts like a dictionary and has the able to update/add
new key, values.

	modified:   yerba/utils.py
add is_empty utility to check for empty files

Utility checks whether a file has any contents which a job may require.

	modified:   yerba/utils.py
add support for job options

Individual jobs have specific requirements which require additional
information. Job options give customizations to verify proper execution
and completion.

* Add option support for jobs
* Add input and output check for non-zero length files
* Add support for acceptable return codes
* Add initial support for reporting job errors
* Refactor retries to be set using options

	modified:   yerba/managers.py
	modified:   yerba/workflow.py