Change BeaconMonitor API to return all beacons

Was previously returning only the closest beacon. It now returns
an array of all the beacons.
Clean up categories

Use C functions for NSString conversions.
Add isEmpty & isNotEmpty to NSString+Util