Fixing an issue with browser disconnection and task timeouts.

This commit fixes the following bug: when a browser is disconnected
during a test, the task timeout function is not canceled. When it is
executed, it assigns a new task to the disconnected browser, which
will lead to a timeout (as there is no browser connected to execute
the task), and then another task will be assigned and so on...
Plugin for test pages

After the refactoring this is the first pull request that allows using plugins, so far only to modify the content of a test page.

This is achieved by exposing some middlewares and adding the modules

- plugins where you can require a plugin from disk or npm
- testPage where you can add element into a test page

For testing purposes, this pull request introduces also an attester.dispose to cleanly dispose all objects created.

Conflicts:
	lib/attester/cli.js
	lib/test-type/aria-templates/at-test-type.js
	lib/test-type/base-test-type.js
	lib/test-type/mocha/mocha-test-type.js