Add compile, test and sourceDirectories settings

Move some common settings into sbt-web. The test and compile tasks give support for invoking Assets/TestAssets task's compilation via `compile`, `test:compile`, `web-assets:compile`, `web-assets-test:compile`, `test`, `web-assets-test:test`, etc.

Tasks only need to add a single setting, e.g.

````scala
  val unscopedSettings: Seq[Setting[_]] = Seq(
    compile <<= compile.dependsOn(coffeeScript),
````

I also added `sourceDirectories` so we can have more than one input directory for our tasks, but maybe that's something that doesn't matter. By the way, I think you might be able to get all sorts of default values and directory bindings automatically from `sbt.Defaults`, e.g. `inConfig(Assets)(Defaults.sourceConfigPaths)` would set up default values for `sourceDirectories` which you could then override.