RFT: External HMC5883

* refactors hmc5883 to support devices without irq line
* added support for this to quanton
* added support for this to flyingf4
* fixed a couple of non critical error in the hmc5883 driver
* successfully tested on quanton (internal, external1, external2)

todo:
* test on flyingf4
* test different sensor orientations