Merge branch 'master' into enhancement_block_storage_controller
Bug Fix

- Bug Fix: Wrong URL generated by replace, see code comment for details
- Bug Fix: URL not updated for error message as replacement was not saved
Enhancement - Logging/Security

- Added logging when a caller tried to PUT a block directly to storage; even if not required, it's still a good thing to do.
Bug Fix - block put location specification

Considered using REGEX, however that would mean doing a REGEX search/replace which would not be very easy to track, etc. However, the simpler solution is to just breakdown the URL, remove/update the parts we need to, and then rebuild it.

There is also code there to be enabled once PR #173 (differing block ids between metadata and storage) is merged; it might need a little tweaking though but should be near 100% correct and just need to be uncommented
Bug Fix: Generator

- inmarker should return None if not found as that is the default for the boundary functions
Merge branch 'enhancement_block_storage_controller' into enhancement_block_storage_controller_get_object
Bug Fix

- Added missing docstring