custom NPM tasks

While playing around, I got extremely confused as to where to load NPM-based tasks. The tasks directory make adding completely custom tasks stupid easy, but having to add the loadNpmTasks call in the project's gruntfile felt really weird.

You can now add a "appNpmTasks" array to `config/application.js` to have lineman auto register any tasks necessary for your build.

Also added a documentation section on custom modules, though the documentation will be wrong in regards to being able to use 

```bash
$ lineman grunt custom:task
```

until the grunt command CWD is fixed (which I submitted in my other pull request.)