Prevent wrapped function replacement in wd

Use a local reference to wrapped functions in PromisedWebDriver to prevent
the original function from being replaced during context updates.

Fixes #126
Update chai dependency to 1.9.0

Fixes #84
Add a TeamCity reporter

A new `teamcity` reporter has been added that generates
TeamCity-compatible test result output.

Closes #125
Release 1.4.0
Update to version 1.5.0-pre