[Logs] Add git status and diff to data collected in log zip
(cherry picked from commit a235597dd64979e57416d4bd999af65a78ff511b)
[UI,Core] Add a developer.php page

This page is not available via the menus, but will allow developers or
users to switch branches.  It also shows the current 'git status' output.

When switching branches, binaries are recompiled.  Any compiled binaries
are cleaned up before switching.  Any compiled binaries which exactly
match the binary in git are removed.
(cherry picked from commit e1905f485be7cc991d080e7be0fe54a4091172dc)