Move non-ui bt settings code to SettingsLib

Mostly this is moving classes from Settings to SettingsLib but there
were a few changes to support this separation.
 - A bunch of things became public rather than package
 - Moved some settings only code out of these classes
 - Added error callback to handle errors

To see the changes from original classes view the diff against
patch-set 1.

Bug: 19180466
Change-Id: I69fd888362c6dbb325f6113b32c4b15cc6a23a41
57 files changed