Add config plugins

Basics are in place. 

Things to do:

* Test it out
* Extract our default config from its large file to task-specific plugins (serve as both an example and allow folks to just copy them down individually and edit them)
* Consider what the user should do when their config should affect a part of the application config *outside* of the task that it's configuring (right now each plugin file is scoped to a single task)
* Add support for autodetecting and requiring `lineman-*` plugins from package.json so folks can store their plugins in npm and reuse them easily.