Android: Support for Android 5.0

This should get us up and running on Android 5.0 without breaking anything on older platform versions. I suspect we will need to flush some bugs, so let's get this into the hands of testers with L-devices and the existing mix of 4.x devices.

Finally had to pay off some technical debt and do some housecleaning we have been putting off for a year or two.  The original codebase used some "features" of the DB that have been fixed in the newest version of android. (read: they were bugs)  Much of the DB code has been gutted and simplified.  Also finally went after the old (mis)use of loaders and modernized our use of cursors.  Lastly, had to re-work some activity and fragment lifecycle stuff to allow for the fact that versions 4.x and 5.0 do things in slightly different orders.

All around, should be a speed-up on any device, though, and the codebase is ever shrinking.