Adding optional log deduplication to lager

This is a cleaned up version of https://github.com/basho/lager/pull/86

This adds log deduplication based on a near-duplicate
analysis of formatted messages (without node or timestamp)
over a given period of time. The objective is to allow
long chains of repeated events in a short burst of time
to be reduced to smaller quantities of text transmitted
and buffered to the error logger. This should allow more
resilience to overload situations, and allow to take less
place during long cascades of failures.

Tests are included, code is up for review.

Documentation is missing, but will be added on demand.