Android: Mark Read by Hash, Refactoring, Bugfixes

Replaced all mark-as-read operations at the story granularity with the new API that uses story_hashes, per the discussion in #356.  Almost all story-level ops now use hashes!

Also refactored `SyncService` and it's ever-confusing C-style enums to use proper Java enums, since they once again were causing me debug headaches.  This will also ease the eventual work to be done in #294.  Additionally moved some non-sync stuff (deleteFeed) out of SyncService and fixed an associated bug (deleting root-level feeds now actually works).