Add task to test plugin JavaScript APIs.

Implement a sbt task to test plugin JavaScript APIs. The test framework
is written in JavaScript and placed in `plugins/test/lib`. The task
finds test cases in the `plugins/test` directory. By bdd.js, the test
cases are parsed as a task tree and then launched. The result is
reported by TestReporter written in Scala.

An example test case, `example.js`, is added in `plugins/test` to show
how a test case should be implemented.
Add assert.async for plugin test.

assert.async is a shorthand for the try-catch cluase of
asynchronous tests.