Modularize gulp

Put each gulp task into its own file. Has two benefits:

* Improves readability 
* Makes it easier to see which tasks have which dependencies