[telemetry] Support absolute paths by changing file:/// to file://. More robust file path handling.

file:///a/b/c.html == absolute path. This follows RFC-1738 (empty hostname refers to localhost).
file://a/b/c.html == relative path. In the RFC, "a" is technically the hostname, but we're just gonna use it as part of the path.

http_server:
- Support relative paths at the command-line for memory_cache_http_server.
- Removal of duplicate paths.
- Correct path prefix calculation. (commonprefix is a string prefix, not a path prefix.)
- Correct UrlOf so it works based on path, not on an assumption that serving_dirs_and_file returns a specific value.

page:
- Remove _UrlPathJoin. Its behavior is awkward for absolute paths. Its backslash to slash conversion should be unnecessary if we always use proper OS paths (except in UrlOf).
- Split serving_dirs_and_file into page.file_path, page.serving_dir, and page_set.serving_dirs.


BUG=None.
TEST=tools/telemetry/run_tests; tools/perf/run_tests; tools/perf/run_measurement blink_perf_all; tools/perf/run_benchmark sunspider; content/test/gpu/run_gpu_test webgl_conformance

Review URL: https://codereview.chromium.org/24451002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228869 0039d316-1c4b-4281-b951-d872f2087c98
[telemetry] Print graphics feature status.

Moved GetFeatureStatus() from the gpu_internals_ui to compositor_util, so we can add it to the existing SystemInfo.getInfo API. This exposes the top three sections of the chrome://gpu page through DevTools to Telemetry.


BUG=296773
TEST=TBD

Review URL: https://codereview.chromium.org/24828002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@228870 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 228869
SVN changes up to revision 228870