Fixed the issue of javascript delegate methods not called when the app is launched into the background.
Solution:
The plugin now swizzles the AppDelegate callbacks in order to request additional background time when the app is launched into the background by the location services.
I found this necessary because on average the OS shuts down the app after 2-3 seconds if it does not request additional background time. An average Cordova app will not always be able to load the DOM by this time, thus the plugins javascript code which supposed to handle the events will not get executed.

Fixed another issue when CLBeaconRegion instances were not converted into valid NSDictionaries by the native layer, causing exceptions on the client side.

Added a lightweight logger utility and introduced logging right into local notifications to make it easier to debug the execution in the background.

The specs for the DOM side LocationManager was a bit too restrictive when it came to checking the subtype of the Region objects, this is now fixed and the tests should pass on real devices as well.