Reorganization of Callbacks and Lock request

Note that this pull request has not modified the Android application at all, so
anywhere the BluetoothListener interface was implemented will now result in a bug, as
that class no longer exists.

Protocol for locking:
Android -> '?' -> Device
Device -> '?U' (if unlocked)
            -> '?L' (if locked) -> Android (via isLocked callback)