Aligning Message Outputs with Inputs structurally

Introducing Config/Descriptor/Factory classes/interface to integrate
instantiation and initialization.
Merge branch 'master' of github.com:Graylog2/graylog2-server
Add nginx content pack, refs Graylog2/graylog2-web-interface#935
(cherry picked from commit 5d8623ffb2db27b5de30bd65144f446e710096f8)
Merge branch 'master' into journal-merge

Conflicts:
	graylog2-plugin-interfaces/src/main/java/org/graylog2/plugin/inputs/MessageInput.java
	graylog2-server/src/main/java/org/graylog2/outputs/BatchedElasticSearchOutput.java
	graylog2-server/src/main/java/org/graylog2/outputs/ElasticSearchOutput.java