[ChromeDriver] Added support for headless mode to download files

Previously, Chromedriver running in headless mode would not properly
download files due to the fact it sparsely parses the preference file
given to it. Engineers from the headless chrome team recommended using
DevTools's "Page.setDownloadBehavior" to fix this. This changelist
implements this fix. Downloaded files default to the current directory and
can be set using download_dir when instantiating a chromedriver instance.
Also added tests to ensure proper download functionality.

R=johnchen@chromium.org, crouleau@chromium.org

Bug: chromedriver:2454
Change-Id: Ic80968154400de11df8034bfb5e50280e31d126d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1670161
Commit-Queue: Julian Kung <juliankung@google.com>
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>
Reviewed-by: John Chen <johnchen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#673194}
12 files changed