CACHE_HASH_ALGORITHM is not consistent despite implementation.
Refactored install_binary so that it uses install_binary_direct.  This removes the need to put a HASH into the options.json file.  Instead it downloads the hash from the hash url.  The hash url is the download URL plus the hash algorithm name as an extension.  Otherwise install behavior should be the same.
Modified test to use new hashing.
Added option to get value from dictionary not formatted.
Added modules builder.  A generic builder which can be used to install a set of modules.  Modules are a group of sub-packages related to a main package, which need to be installed.
Added regex module loader to ModuleInstaller.  Added tests.
Fixed up flake8 formatting issues.