Break up gulpfile into composable tasks

# This is not tested yet - feedback needed

This PR is to break the gulpfile into small composable "tasks" where each task should be a standalone module with a single responsibility. In doing this you can write build code the same way you would write application code! Yay!

This is a first pass and is not yet tested. Before I go all the way and suss out any typos I've made as well as finding homes for the composite tasks I wanted to get your feedback and see if this is something worth continuing.
`"` - this would be caught by the linter, so let's add the `build` directory as a target for the `lint` task.