NG: Microsoft Azure storage driver

This is the storage driver implementation to enable hosting the storage backend of the next-generation docker-registry on [Microsoft Azure Blob Storage Service](http://azure.microsoft.com/en-us/services/storage/). In order to fully run the tests, an Azure storage account will be needed. In case you need one, please contact me or you can [sign up for Azure](http://azure.microsoft.com/en-us/pricing/free-trial/) if you don't have an Azure account and create a storage account yourself.

Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>

-----

/cc: @stevvooe @dmp42 @johngossman
Each successful call to `WriteStream` appends the given chunk to the blob. Subsequent calls to `WriteStream` can continue adding new blocks to that path, so answer to your first question is yes –in fact this is how it works right now. 

Answer to your second question is also yes, `WriteStream` commits the chunk to the blog before returning [(line 213)](https://github.com/docker/docker-registry/pull/801/files#diff-482c6deb6be8ea731a8981fc7eb38e5cR213). After a successful call to WriteStream, `CurrentSize` will always return the new size.