Each readthrough should represent a unique instance of reading a book,
and so it should have a single status that represents that status of
that readthrough. This will be used to place the book on the appropriate
"shelves", and should allow for there to be a single active readthrough
if a book is in progress. That maeks the `is_active` field unnecessary.
Since the status of the readthrough is unambiguous, defining "finished
date" and "stopped date" separately is no longer necessary.
I've sketched out some database constraints but haven't implemented them
yet, because the conflicts might get gnarly and let's take this one step
at a time.
The migration logic is complex, so this is an untested draft and I'll
write unit tests for it in a subsequent commit.