feat: HEAD /blocks/{block_id} endpoint

on a HEAD, the block is checked for existence in the metadata store,
after which its checked for existence in block storage.

- If present in metadata, and non-existent in block storage:
     502 Bad Gateway is returned along with an explanation.

- If present both in metadata and block storage.:
     200 OK is returned along with headers such as
     x-block-reference-count

- If not present in metadata:
     404 Not Found is returned
move:consistency check logic from resource to model

Addressing review comments:
Consistency check now takes place in the model, and exception thrown
if consistency check fails. The exception is caught in on_head function
of Block's Item Resource and corresponding status code (502) set
in response.
Enhancement Block Storage Controller

- Added framework for the block storage controller
Enhancement Block Storage Controller

- Did a basic hook up of the model so as to get full test coverage
- Logic of model for individual points still has to be filled out
- Some functionality in the controller needs to be finished based on the results of the model
Enhancement Block Storage: Get Block

- Add basic framework to get a block through the Block Storage functionality
Support Block HEAD
Merge remote-tracking branch 'upstream/master' into head_block_endpoint
Enhancement Block Storage: Get Block

- Refactor: Added functions to be able to build the various URL paths, removing referenced variables accordingly
- Refactor: Moved the Get Block Length from the Vault Model to the Block Model
- Added Test for getting a block through the Block Storage End-Point
Merge branch 'master' into enhancement_block_storage_controller
Merge branch 'master' into enhancement_block_storage_controller_get_object

Conflicts:
	deuce/model/block.py
fix: check for block existence instead of getting the block

the model now has a has_block() function which checks for existence
in both metadata and storage.
Merge branch 'master' into head_block
chore: remove old config.py reference

This patch removes a reference to config.py which no longer exists
Merge branch 'master' into enhancement_block_storage_controller_head_object
check: vault existence

return a 404 if the vault does not exist.
fix: status code 200 to 204

Addressing Xuan's comments:
Since we are returning an empty body here, with most information
in the headers, we return a 204 with RESTful standards in mind.
Update

- PR #132 was merged so we now have access to the Ref-Modified functionality; enabling
log: default logging behavior

use the rotatelogfile handler to log to a file.
exception: Consistency Error fix

- Fix Consistency Error Exception to be very explicit about what went
  wrong. The ConsistencyError Exception now outputs a message regarding
  the blockid, vaultid and the project id that caused the exception, and
  that message is logged.

- Prefix helper functions not intended for public consumption with '_'
exception: Consistency Error extra param 'msg'

- Adds additional context by passing 'msg' when raising
  Consistency Error
- Return Consistency Error's thrown message back to client