Update db migrations to add jobs indexes and make status non-nullable

Adding indexes to jobs timeout and status columns.
Make status non-nullable with a default of 'QUEUED'.
Fixed / expanded some tests.
We can do that. I know I mentioned it earlier but kinda decided not to since hard_timeout is rarely updated so maintaining that index is pretty low cost (as compared to updated_at which changes all the time.) But it's simple enough to do. I think I may do it in a separate migration file tho. Not really sure about when things should be split into separate files or not.