The changes in bom and dragonfly_lib are the result of me and James rehashing the bom driver code. This now includes the updated analog reading, and control of the BOM1.5's emitter selection capability. The emitter selection has been verified, but I had to change the way reading the detectors works, so that needs to be re-tested for BOM and BOM1.5

First crack at BOMv1.5 driver code. Pindefs are correct and the existing functions still work. At the moment the main function controls the clock and data of the rbom so you can shift things around. TODO: get bom_set_emitters working to correctly shift 16 bits around. Eventually this will have to be merged with the new bom code that James wrote, probably manually.