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