Refactor configuration part as utility

Move all the logic that handles the configuration part into its own utility class.
This reduces the responsibilities of cli.js
Assert on test execution

Add the possibility to assert attester test results, the number of test run, in error, with failures or skipped.
Allow to handle uncaught exceptions

Uncaught errors in the test window are reported to attester.
If the iframe overrides `window.onerror` it means that exceptions are
handled by the test type and therefore they should not be reported by
attester
Log unsupported tests configuration
Remove shrinkwrap

It seems too restrictive to have one
Mocha test

Include mocha test cases.

It allows to configure the following mocha properties
`ui`
`ignoreLeaks`
`globals`

It also allows to specify the `assertion` library that can be `expect`, `chai` or any valid url.
Allow to take screen captures with PhantomJS.

With this commit, screen captures can be taken from tests by using:
window.top.phantomJSRobot.screenshot("myFile.png");
This is useful to debug more easily any phantomjs-specific issue.
Logging friendly error when can't run PhantomJS

Logging error messages when can't find PhantomJS or there are permissions
errors.