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
If you call `WriteStream` with a 17 MB file and it fails at some point nothing gets committed at all. Again, if WriteStream returns success, means everything just got committed; if it returns failure or process dies or something, nothing done in that call is saved to the storage.

In the example I gave above, first `WriteStream` 16 MB succeeds then the next 5 MB is another WriteStream call. Is it more clear now?