Refactor counters

Implementation of pull request Graylog2/graylog2-plugin-interfaces#2 on graylog2-plugin-interfaces :
 - Use a separate MessageCounter for throughput instead of element in MessageCounter.
 - Use new Counter objects instead of native int values in MessageCounter.

Plus keeping original message timestamps in MessageCounterImpl to allow parsing of old messages.

This is mainly untested (apart from already written JUnit tests) as things have pilled up at work but should be OK. The RC release also made me push this pull request (no pun intended) before I could test this thoroughly at work.