Adding REST interface to list installed plugins

Adding helper to PluginModule to allow plugin authors to register
Metadata class
Lowerding log level of batched elastic search output
Changing MessageOutput interface to use proper types for configuration
Adding unique id field for plugin metadata to allow lookup in exchange
Adding helper which allows plugins to register MessageOutputs
Adding configuration field to enable/disable CORS for GELF HTTP input
Overwritten method has become obsolete
Improve rest_transport_uri default value.

If not set, use the value of rest_listen_uri. Add exception if
rest_listen_uri is 0.0.0.0 to use the first non-loopback IPv4 address.
Making defensive copy of Message before formatting it

Fixes #559.
Adding PluginService for managing plugins on nodes. Allows listing them
for now.
Merge pull request #560 from Graylog2/fix-557

Improve rest_transport_uri default value.
Change loglevel for org.graylog2 from warn to info.

Makes early info messages visible. Discussed with @kroepke.
Adding method which returns implementation class names of buffers
Fixing wrong usage of destroy method in fixed method
Adding rest method which returns implementation classes of buffers
Merge branch 'master' of github.com:Graylog2/graylog2-server
Fixing use of implementation class instead of interface
Adding generic toString() method for persisted objects
Adding enum types for email transport failures / invalid config
Correcting instantiation of subclass, adding tests