Added replace parameter for setText

Requires https://github.com/admc/wd/pull/333 to be pulled first.

I also want to create a test for this in keyboard-specs.js but I can add that in another pull. 

Tested with the wd.js change and it works for me.
replace needs to be set in exactly one function, why should every method that invokes `element:setText` need to care?

If it's required and then something is missed (such as `androidController.keys`) then that method is going to break. I don't have confidence in the appium test suite on Travis so then we're relying on end users to find our crashes. It seems better to have an optional param with a default value to minimize the maintenance cost.