Sending identifier to centrals
This means we now actually send newdevice and deviceproximitychanged events to the web library :-)
Improved device distance changes

- CWBluetoothConnection now adds RSSIs into an exponential weighted moving average, reducing jittering but still allowing us to react to moving devices quickly
- CWBluetoothMonitor uses the new averageRSSI to calculate the distance
- CWBluetoothMonitor furthermore introduces constaints on when a distance update is sent so we don’t flood the web library
First rough rewrite of the BT classes

- BTMonitor and BTAdvertiser will be merged into the BTManager. While this will make the BTManager a rather huge class, it also allows us to streamline BT-related code and to keep everything related to BT communication in one place
- The BTMonitor is just a draft for now, its by no means complete
Implemented Device Detection in BluetoothManager

Further expanded BluetoothManager
- devices are now detected
- device distance changes are detected
- initial data transfer from peripheral->central is possible
- IP transfer from central->peripheral is possible, but the IPs are not further processed yet
- delegate callbacks implemented

- some other minor stuff
Remote Device Connection

A device can now request a remote device by sending its IPs to the device. The device will figure our the IP and open up the remote webpage which establishes a websocket.
Still lot’s of stuff missing, though:

- We can’t do anything with the websocket connection for now
- We don’t have a mechanism that puts the device in remote mode, preventing it from accepting further requests and performing requests and other stuff itself
- The code is still kind of all over the place, we can probably clean some thing up here
- Dead Lock Problem still unsolved: What happens if two devices request each other as a remote device at the same time?
- deviceLost for both discovered and remote devices is still not implemented