Deploying changes upon successful update of the git repository
Updated
Use interfaces instead of concrete types in Kudu Console
Use same Deploy() code path for all scenarios

Git push has always had a different deployment code path that relies on the 'pushinfo' file. It seems that is not necessary and we can just use the standard code path which deploys the latest bits.
Add CODE_ANALYSIS constant to csproj files
Add CODE_ANALYSIS to projects that were missing from previous commit
* Add support for SSH Key generation
Fixes issue #185
Added specific target for fxcop job.
Changed settings to internal.
fix #432 wait to flush process output
Make the no-commit-Id deployment more similar to the commit-id case

Also, fix bug that shows the commit ID instead of the branch name when pushing.
Simplify ProgressWriter pattern, and use it during git checkout
Always update the status file with changeset details after the fetch
completes

Fixes #430
Use a longer timeout for server git operations

Relates to #365
Add support for git operations on the root of the Kudu service

Fixes #436
Fix git dumb protocol handling to do what it's supposed to
Remove a few unused nuget package references
Switch to HttpApplication.RegisterModule
Update to Ninject 3.x
Remove OData dependency

Fixes #441