Move the implementation of hasError and setHasError to iplugin. They are basically just getter/setters and actual implementation belong there - not in the individual plug-ins.
Unified the way plug-ins report errors when failing.
There is a separate patch for plug-ins in Kdevelop repository.