field chart widget skeleton

Graylog2/graylog2-web-interface#370
field chart widget computation Graylog2/graylog2-web-interface#370
fix field chart widget stream filter Graylog2/graylog2-web-interface#370
updating dashboard settings. Graylog2/graylog2-web-interface#370
persisted widget positions. Graylog2/graylog2-web-interface#370
sources APIs Graylog2/graylog2-web-interface#448
Reducing MongoDB code dependencies

Removing usage of ObjectId in many cases, using Strings instead (in most of the case the Id is transformed to a String for display purposes anyway)
Cleaning up Persisted class and model interfaces so changing the persistance layer should be easier.
Some minor fixes not included in last commit.
basic metrics collection

stored in a ttl-based mongodb collection, turned off by default.
enable this with the 'enable_metrics_collection' config parameter

no web interface support yet.
elasticsearch config file for graylog2 server node takes precedence over default values.

previously the values in graylog2.conf or the default values in the code would override whatever was in the external config file for the graylog2 server node
now the elasticsearch yml file overrides the other values.

added tests

slight refactoring of the Indexer startup procedure: to allow separate configuration reading the class now has a separate start method that needs to be invoked

fixes issue #351
better log message for incomplete syslog messages
trim messages in stream exact matcher to make it work with trailing newlines (common in syslog). cc /@dennisoelkers
Merge branch '020' of github.com:Graylog2/graylog2-server into 020
gracefully handle query parse failure

no longer show the 500 exception page for "expected" query failures
instead markup the query with pointers to the documentation

fixes Graylog2/graylog2-web-interface#435
search sorting whoop whoop. Graylog2/graylog2-web-interface#450
require authentication for all resources except discovery and login

issue#244
re-calculate all index ranges after retention. fixes #350 (i guess)
add more permissions to REST resources

adds helper methods in RestResource base class for checking per-instance permissions, see DashboardsResource for examples

issue #244
set FixedReceiveBufferSizePredictorFactory for ConnectionlessBootstrap in GELF UDP input. fixes #345
more FixedReceiveBufferSizePredictorFactories! wow