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
Can the value returned by `CurrentSize` be used as argument to `WriteStream` to continue an interrupted write? The issue I see is that `WriteStream` uses a different approach to get the continuation point for the ongoing write. `CurrentSize` uses `GetBlobProperties`, while `WriteStream` fetches the committed blocks.