Removed extra last modified check on files about to be read/written as last modified can not be reliably compared across different OSs.

Create etag based on last modified time only instead of both LM and creation time.
Removed stale comments and unused validate parameter
Merge branch 'S21'
Omit h_ prefix on HTTP headers in trace.xml

Fixes #548
Remove unused settings param
Handle fetching empty repo
fix the test due previous checkin
fix ratelimiter test
Update azure-cli to kudu_s21_5 branch
Also added clean target to remove azure-cli on clean build
Fixes #474
Remove long directory from azure-cli
Split deployment settings logic to several classes, each settings provider
logic is in it's own class and DeploymentSettingsManager class has a list
of providers with priorities for selecting which provider is looked at
first when requesting a value.

Treat .deployment file as part of our deployment settings logic

Added tests to the new deployment settings feature.
Update node detection logic, if a known startup file exists in the root directory, treat web site as basic instead of node.
Fixes #560
Add web socket support to web.config.
Fixes #309.
Detect web.config existence in the selectNodeVersion.js script, in the repository instead of wwwroot.
Fixes #512.
git exists method should not fail with any exception.
Added unit tests for node site detection logic
Functional test added for html5 web site with an app.js (which shouldn't be mistaken for a node.js web site)
Remove debugging logs.
Fix spacings
CR related fixes