Issue #43: enable metrics on MergingFollower

This pull request does mutiple things, all of which together fixing issue #43.

- Interface ```MessageMetricProducer``` is merged back to ```MessageProducer```, since there now is no difference between what ```Follower``` and ```MergingFollower``` can do in that area.
- ```NonStoringFollower``` and ```NonStoringMergingFollower``` now both share a common, immediate ancestor. Also, both the classes and the ancestor have been renamed.
- And all the relevant ```MessageProducer``` and ```MessageConsumer``` methods are now implemented directly on that ancestor.

This pull request greatly simplifies the type structure of Splitlog, as well as removes a lot of code duplication.