Android: Make Story.read a Boolean

We had an incident last week where the backend started sending Story.read as a boolean (which, really, it is), but the Android app was expecting an int.

This change makes that field a true boolean everywhere except for the internal DB (where booleans actually are ints, by spec).  Also added compatibility code so that we can keep accepting the existing 0/1 for now and still handle the true boolean when the backend changes.

Upgraded to the newest GSON lib to support the change.