Do not load the GitHub plugin when the Git plugin is not.

This is currently not enforceable via .desktop files and thus
this is only a workaround. But at least it ensures the
GitHub plugin is not loaded when the Git plugin is unavailable.

Note that we can still unload the git plugin at runtime which
would leave the GitHub plugin loaded and in an invalid state...
Adapt to KDevplatform changes.
Also require the git plugin in the kde provider plugin.
Merge remote-tracking branch 'origin/4.7'

Conflicts:
	providers/ghprovider/ghproviderwidget.cpp
MakeBuilder: Simplify code

Decouple from IRunController and friends
NinjaBuilder: Don't start jobs twice either

Behave exactly the same as in the make builder plugin
NinjaBuilder: Invoke methods on the correct object

The parent of NinjaJob is changed during its lifetime. Thus, explicitly
pass the pointer to the NinjaBuilder plugin instance in the ctor.