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.
Update dependencies

Migrate to grunt 0.4 and update all other dependencies in package.json
Closes #22.
Read environment configuration

Allow to extend the basic configuration with environment parameters taken from a file.
This parameters can then be referenced inside the configuration with a templating mechanism

Closes #23.
extraScripts in mocha tests

Give the possibility to include extra scripts in mocha tests.
Redesign attester pages

Change style in homepage and status pages.

The homepage now displays configuration information while the status provides more details on connected browsers and remaining tasks.
This closes #6 as well
Closes #25
Adding try/catch in slave handlers to avoid crashes.
Preventing a new history entry to be added for each test.

A new history entry is no longer created for each test. This is done by
creating a new iframe DOM element for each test (after the one for the
previous test is removed).