Throw exception when json_decode() of remote response fails

When running tests against Saucelabs, error messages may appear in non-json format, such as `Invalid device name specified: iPhone`. This causes RemoteWebDriver->execute() to return `null` as the response value, which in turn causes errors downstream, such as (`[PHPUnit_Framework_Exception] Argument #2 (No Value) of PHPUnit_Framework_Assert::assertNotContains() must be a array, traversable or string`) when using RemoteWebDriver in Codeception/PHPUnit.

With this pr, the error message becomes much clearer:

     [WebDriverException]
     JSON decoding of response failed. The response: 'Invalid device name specified: iPhone'