Refine in-place conversion semantics for Settings

Since settings are now stored as strings, avoid app crashes
for settings which are still around as other types, and just
treat it as if those settings are absent (return default). This
requires re-working the version number tracker itself, which
is done by making it a new key and migrating just the old
key in the getLastVersion override. This is somewhat cleaner
and overall the change should increase stability given the
change to use in place values of different types.

Bug: 17949433
Change-Id: Icaf0d9653eabb9e144f3946a51b4038d3ed48ea9
3 files changed