Sync/Async test exceptions caught using Node.js domain

The code delegates to the "trycatch" library to handle unexpected
exception that tests may thrown. All exceptions should now be properly
caught, regardless of whether they are thrown synchronously or
asynchronously, in the main test callback function or within a
WebDriver command.

Note the code patches WebDriver's control flow execution command
to preserve the underlying domain.

Examples adjusted accordingly.
New "printerrorstack" option to report stack traces of exceptions

When the option is set, Angela reports the stack trace for tests that
fail due to an exception.

A typical example would be:

  angela examples/errors.spec.js --printerrorstack
Bumped version to v1.1.0