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.

That removes a whole lot of tricky code, so I hope there is no catch that I'm missing!

### Use interfaces in Kudu console

I also fixed Kudu console to use interfaces instead of concrete types to make sure it doesn't got outside that surface. Which actually it does when it calls ConsoleLogger.HasError (I didn't fix this)