Refs #75. Added zip_file_path
Refs #75. Moved the ZipFile contextmanager to utils
Refs #75. Removed a stray comment
Refs #75. Fixed import issue
Refs #75. Ignore empty parts
Refs #75. Use zip_path_join instead of os.path.join
Refs #75. zip_path_join will automatically ignore empty parts so there's no need for the extra logic
Refs #75. Import path split directly