- safety checks to avoid exceptions still need to track down root cause (issue #47)
- check for duplicate peripheral uuid discovers and don't emit if allow duplicates is false (OS X sometimes reports some peripherals twice - issue #48)