generalize SignatureCodec to support checksums and Digests

* Replace usage of java.security.Signature with trait ```Signer```, that delegates to Signature
* add Digest, CRC32 and Adler32 from Java API
* add Fletcher16 checksum (specific for my use case)