Threefish, Skein, Memoable digests and SM3

Ports from bc-java:
 - Threefish implementation and tests
 - Skein digest and mac implementations and tests
 - Memoable interface and support in digests
 - Use of DigestTest in digest test classes (covering Memoable testing for all digests)
 - Memoable optimisation of HMac
 - SM3 digest implementation and tests