Allow fingerprint generation to be configured

Legacy versions of errbit used different strategy for
generating the method signatures for duplicate duplication.

This allows custom signatures to be easily dropped in via
methods such as an initializer.
Merge pull request #676 from csaunders/fingerprint_strategies

Allow fingerprint generation to be configured