webdriver.promise.Frame_ should not extend Promise.

This eliminates a bunch of unnecessary allocations.
Simplify promise cancellation logic.
Run tests with harmony features enabled.
Update release notes for js
Undoing improper spec compliance for finding elements
updating javadoc, changelog for java, bumping version numbers to 2.44.0
Bumping Python to 2.44
Bump JS to 2.44.0
Updating tests for .NET
Updating IE prebuilts for 2.44 release
Updating .NET assembly version resources for 2.44 release
Update JS docs for 2.44.0
Fixing null pointer exception if a stacktrace frame does not match the expected format. Fixes issue 7977
Fixing progress listener detaching if the window was autoclosed. Fixes issue 8093
Fixing platform autocoversion. Fixes issue 8083
Fixing platform conversion, step 2 (also more tests to be added on step 3)
Adding tests for platform autoconversion
Force promise rejection values to be Error objects.
Move towards the standard promise API

Promise is no longer an abstract class and its constructor takes a
resolver function. Deferred is no longer an instanceof Promise, but it
still (temporarily) implements Thenable for API backwards compatibility.
Fix a few js compile errors

* Document optional parameter
* Remove no-op if statement
* Remove use of deprecated function