Implement the Field structure in the Prelude

The multiplicative inverse function could have a better name
however this can be revised on feedback.

Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Implement the VectorSpace structure in the Prelude

'Vectors' are not actually the Vect type, rather they are elements
of an additive abelian group and hence this structure is made most
general in type.

Signed-off-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>