Add shape of earth 1 and 7

This PR extends `ellispsoid` to handle `shapeOfTheEarth` value `1` and `7`.

This is a precursor to GDT 4/5.
This begs the question of how we interpret/handle negative numbers in a GRIB message.
 1. The GRIB spec seems woefully vague about when octets must be interpreted as signed vs unsigned. We should feed back on that!
 2. GRIB regulation 92.1.5 suggests it uses a "sign and magnitude" representation for negative numbers, and **not** a two's complement. So for a value stored in a single octet, -1 would be represented as 0b00000001, and **not** as 0b11111111. In other words, this check doesn't seem to be safe/correct.