Implemented badman74 changes

Implemented various kernel updates from the badman74 repo. Also added
support for whirlcoin, diamond v2 and the arebyp scrypt kernel from
badman74.