New Azure Storage Blob File field.

Azure Storage is a cloud storage like S3 in Azure Cloud. This field is based in S3 field with Azure client.

Configure with

keystone.set('azurefile config', { account: 'storage account' /* not user account */, key: 'secret api key' });

Or with environment

process.env.AZURE_STORAGE_ACCOUNT and process.env.AZURE_STORAGE_ACCESS_KEY

The default container (like bucket in S3 is a keystone).

Model only need defined the type

simpleModelProperty: { type: Types.AzureFile }

but cant defiend filenameFormatter and containerFormatter to format the name of the file and the container name is are diferent of default 'keystone' container.

simpleModelProperty: { type: Types.AzureFile }
//the next property defined the upload filename as itemID with extension format a name like 5315f3a519e382ee32b80472.pdf
//with container formatter can define a custom container name with item and filename. For example can create a custom container with only images or with a property of model.
customModelProperty: { type: Types.AzureFile, filenameFormatter: function(item, filename) { return item._id + require('path').extname(filename); }, containerFormatter: function(item, filename) { return (item.cdnName != "") ? item.cdnName : 'mycdn'; } },

If configure the variables with test values the resultant urls are like:

keystone.set('azurefile config', { account: 'myaccount' /* not user account */, key: 'secret api key' });

TEST SIMPLE: http://myaccount.blob.core.windows.net/keystone/my-file-name.pdf
TEST CUSTOM: http://myaccount.blob.core.windows.net/mycdn/5315f3a519e382ee32b80472.pdf
Merge pull request #230 from altairstudios/master

New Azure Storage Blob File field.
Minor cleanup
Adding docs for AzureFile options
Fixed 'Can't set headers after they are sent.' exception on /keystone/[list]/?new
Added toolbar/preview for markdown fields
Merge pull request #233 from thedersen/list-exception

Fixed 'Can't set headers after they are sent.' exception on /keystone/[list]/?new
Implementing correct check for list autocreate; see #233
Merge pull request #234 from thedersen/markdown-toolbar

Added toolbar/preview for markdown fields
Clarifying documentation of 'from' option for Embedly fields
Merge branch 'master' into plugin-fields

* master:
  Clarifying documentation of 'from' option for Embedly fields
  Implementing correct check for list autocreate; see #233
  Added toolbar/preview for markdown fields
  Fixed 'Can't set headers after they are sent.' exception on /keystone/[list]/?new
  Adding docs for AzureFile options
  Minor cleanup
  New Azure Storage Blob File field.

Conflicts:
	lib/fieldTypes/index.js
	package.json
Moved Azure File
Fixed Datetime data type to Types.Datetime
Removed factory method from fields. Just exports Field.extend({...})
Merge pull request #237 from Zertz/patch-1

Fixed Datetime data type to Types.Datetime
Documentation of Azure Storage Field
Merge pull request #239 from altairstudios/master

Documentation of Azure Storage Field
Fix for #241 (host is undefined)
Updating link to hood.rs, fixes #240
Added a check to make sure the from parameter redirect is a relative url

This should protect against an open redirect attack. See

https://www.owasp.org/index.php/Open_redirect