initial client model

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
import authorization funcs from packer
add more calls before refactoring
unit tests for some helpers
refactor buildCanonicalizedString
refactor authorization header generation
types for blob type, container access level
list containers with deserialization
list containers parameters & pagination tests
refactor client.exec return type
put blob (small) validation
get rid of ContainerList type
ListBlobs with tests
test cleanup
change test for container access mode coverage
store key as decoded b64, bubble up error early
refactor PutBlob into PutBlockBlob
put multi-block blob
ContainerExists, fix bug in BlobExists, use HEAD instead of GET
errors cosmetics fix