Add typeclass methods and fix deprecations

This pull req:

- Moves `isNonZero`'s friends into `Semigroup`
- Adds typeclass methods to `Semigroup` to that effect
- Fixes almost all deprecation warnings in core and test
- Adds `Field.inverse`