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
Merge branch 'master' into geezer
Update chai dependency to 1.9.0

Fixes #84
Merge branch 'master' into geezer
Update to support chai 1.9.0 assertion API
Add a TeamCity reporter

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

Closes #125
Merge branch 'master' into geezer
Release 1.4.0
Merge branch 'master' into geezer
Update to version 1.5.0-pre
Merge branch 'master' into geezer