Compass readings fixed, FINALLY!

- Was not using wireingPi I2C functions correctly to read registers out of compass
- Compass readings needed to be sign-extended for proper calculation on 32-bit RPi

Compass readings work but calibration still fails with "self test out of range" error.
Next will be to implement accelerometers for tilt-compensated compass readings.