Support for CHROMIUM context for embedded Chromium.

Enables switching between NATIVE_APP and CHROMIUM contexts. Works for both backends: UIAutomator and Selendroid. It's intended to work for any Chromium
embedding app under the following conditions:
- user has to make sure the devtools socket is open
- user may need to provide a webdriver working with his app (probably deriving from chromedriver)
- user needs to use some additional capabilities: 'android-device-socket', 'chromedriver-executable' (optional), 'special-chromedriver-session-args' (optional)
Parsing date from device log lines using regex to handle splitting on 1 or more spaces because date strings for days 1->9 look like "June  9 14:30:43" and splitting on single space was incorrect.
Merge pull request #2781 from curtissiemens/master

Fix parsing of device log lines
upgrade wd and add test for getAppStrings
Merge pull request #2435 from emakiej/support_chromium_context

Support for CHROMIUM context for embedded Chromium.
allow pushStrings to work with 'app' as package, not just file
fix #2749 and add tests
also fix tryNTimes, I think it was vacuously succeeding all the time
(cc @sebv)
Merge pull request #2783 from jlipps/master

allow pushStrings to work with 'app' as package, not just file
Adding additional checks in doctor/dev.js and updating contributing.md
Remove setting sessionOverride to false

Remove setting sessionOverride to false when cleaning up the session.
This parameter should left as it is.
Users may specify this value to true in the args when starting Appium server. However, once a session is cleared, this parameter would be as it was, instead of setting it to false.
Merge pull request #2782 from moizjv/fix-2752

Adding additional checks in doctor/dev.js and updating contributing.md
Merge pull request #2785 from fbai/patch-1

Remove setting sessionOverride to false
add test for sessionOverride