IE11 support

Close #78
Bump jasmine, jshint and other deps

Close #83
Fix ua-parser require issue

In 44ed552b542dc65e7cfe9360ebd631fc7eeb0a75 the dependency has been
changed in package.json but it was not updated in the code.
Removing exit-process.js and using the exit npm module instead.
Improve error handling for PhantomJS

1) Try to reboot Phantom instance (3 times) if it died from recoverable error
2) Exit attester when all PhantomJS instances died without hope to recover

This fixes the following issues:

- In case it was impossible to connect to attester by PhantomJS
  instance within specified timeout, the phantom process was exiting,
  but without propagating the error to attester.
  Now it propagates the error, and additionally the timeout was increased

- Now once the page emits `DOMContentLoaded`, the timeout starts from zero

- If all PhantomJS processes die (i.e. exit with code != 0) for any reason,
  now this is caught and makes attester exit with non-zero code too.

- Also, Phantom instances now have deterministic ids from 1 to N.

Close #79