Add `.waitForElementExist(selector, timeout)` method

Will wait for the element to exist, regardless of visibility, before returning.

Implementation uses currying to generalize waiting for element.
Handle 'stale element' as element not existing

Occasionally webdriver throws an error about the element reference being stale.
Let's handle that case as the element doesn't yet exist. All other errors are re
thrown as before.