Mocha test adapter

Add the ability to run `mocha` test cases.

It allows to configure the following mocha properties
* `ui`
* `ignoreLeaks`
* `globals`

It also possible to specify the `assertion` library, that can be `expect`, `chai` or any valid url.

It does also a bit of refactoring and adds some documentation on how to write other test types