Split up build tool resources and added gulp support

Adds support for Gulp

### Changes

* Split up build tool resources in /root dir
* Added gulpfile
* Added package.json specific to Gulp dependencies

### Testing

* Create a new project by duplicating files and placing gulp files in project root
* Run `gulp:dev` to create dev assets
* Run `gulp build` to create dist assets
* Run `gulp watch` to create a watcher with LiveReload

### Review

@germanny 
@ericrasch 
@jameswlane 
@weeirishman 

### Notes

* I have an update to the generator queued up for testing but wanted to get this out there first. Luckily the generator doesn't copy root files so updating with these changes will have no affect on the current generator version.
* I prefixed non-required variables with an underscore to make it easier to discern one from the other. Open to a discussion if this is a good idea or not.
Yes, all your scripts *need* to be in a sub-folder within the `/js` folder for them to be compiled to the final file. For ex. scripts in the `/footer` folder are compiled to the `footer.js` file. We're automating this by looping through the child folders of `/js` rather than having to manually set up each like we've done in the past (this is something I'll be doing to the grunt file in the future as well).