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
Make the config path relative to baseUrl

Fixes #139
Use dojo/lang.hitch instead of Function#bind

This is because PhantomJS still does not support Function#bind
and people are requesting out-of-box support for it.
Fix lcov test failures
Check that a cancel function exists before calling it on a promise

Fixes #151.
Push environment arguments to the client runner