Check and report OS version on app setup.

Persists OS Version in `BPAppSettings`, along with the other fields. The value is checked on startup, and if it has changed a PATCH to `devices/current` is sent to update the value.

The `BPDevice`/`BPClient` responsibility seems to have broken down a bit, but I followed in line with what is in place and left that for another developer's opinion :)