Deploy and purge CDN

This introduces the concept of a staging container and a
production container, mapped to `staging` and `master` branches.

On deploys it pushes to the CDN, sets the correct headers we require, and purges the file to make sure the CDN sees the new content
I believe these configs can be mostly combined to be:
```
/* jshint node:true */
var glob = require('glob');
var _ = require('lodash');

var uploadConfig = {
    'src': 'src/*.json',
    'dest': '',
    'stripcomponents': 1,
    'headers': { 'Access-Control-Allow-Origin': '*'},
    'purge': {
        'emails': ['jay.parlar@rackspace.com'],
        'files': glob.sync('*.json', { cwd: 'src' })
    }
}

var stagingUpload = _.cloneDeep(uploadConfig);
stagingUpload.container = 'encore-ui-nav-staging';

var productionUpload = _.cloneDeep(uploadConfig);
productionUpload.container = 'encore-ui-nav';

module.exports = {
    options: {
        'user': 'encorecloudfiles',
        'key': process.env.cloudFilesApi,
        'region': 'DFW',
        'upload': uploadConfig
    }
    staging: {
        'upload': [stagingUpload]
    },
    production: {
        'upload': [productionUpload]
    }
};
```

Now, this would require installing lodash for the cloneDeep function and doesn't really seem to shorten the overall LOC, so I'm not exactly sold on the idea. At the very least though we should be able to move `user`, `key`, and `region` into the `options` shared config.