Add missing DROP INDEX statement
Floor bounds data and team setup from HOPE
Snapshot game to database

Implements snapshotting the game to the database. The workhorses here are
the snapshot_to_db and load_from_snapshot functions which do the db work.

snapshot_to_db is fairly straightforward -- we record our snapshot time then
just insert the data from the instance into the _ephemera tables.

load_from_snapshot is a bit more complicated, mostly due to needing to
reconstruct the bounds from the Polygons. In retrospect, it might be more
straightforward to take a different tack and just make all the bounds load
separately from the _ephemera data.

In the end, this is theoretically more robust than the shelve/pickle approach
but I'm really unhappy with how much code it took to get this working.
Order the bounds_vertices lists

Adds list_rank to bounds_vertices so that the collections can be kept in
order. The vertex lists need to be in order for us to draw them correctly.
We can't actually guarantee that the query order from SQLite is the same as
the insert order, so this extra data helps us out.

This isn't actually normalized because I feel like we should not need to
reorder entries in the vertex lists.