Reducing code duplication due to server vs. radio

Created submodule graylog2-shared which is supposed to hold code which
is not part of the plugin api but still used by server and radio modules
Introducing MetricsHost and ProcessingHost interfaces
Moving several classes to shared module and refactor references,
       partially generifying those classes to use interfaces instead of
       Core/Radio objects
Refactoring the InputRegistry

Introducted abstract base class InputRegistry, each node type has to
subclass it.
Added callbacks (finishedLaunch, finishedTerminating) that are called
after launching/terminating an input.
Minor fix to input launch error reporting
Fixing some merge issues, bumping version number, correcting error