Extracted (de)serialization stuff to separate file.
IDEA no longer complains.
ignored .idea directory
downgraded requests to 2.2.1 to match docker-py dependency
Removed 'parse_repository_tag' function as it now exists in the upstream docker library.
Support for fetching images that appear in a pipeline.

Runner interface now has `install_tool()` method that individual runners can implement.
JobNode and JobGraph now have install_tool and install_tools methods, that delegate to appropriate runner method.
CLI has install subcommand.
pep8 fix
uid fix
container remove if success
runner map as graph property; passing io through Runner.transform_[input|output]()
removed print cmd from run
Merge pull request #7 from rabix/feature/predownload-images

Feature/predownload images
All io values are now passed around as host paths.
Merge with devel
Removed unneeded mapping from output runner. Ready to merge.
Merge pull request #11 from rabix/fix/uid

Fix/uid
Merge pull request #10 from rabix/refactor/path_transforms

Refactor/path transforms
VERSION global variable and its usage in setup.py
Fancy up setup.py

Added `zip_safe`, `test_suite`, `licence` and `classifiers` fields
Refactored CLI interface

Dynamic usage message is made using string template/format and conditionals instead of string concatenation and exceptions