Thread dependency fixes and method name changes

- byBoard on thread/db level as well as index export
Updated board with purge and versions method

All boards are now versioned, therefore the create/import/update/delete
methods create a new version of a board and saves it to a new section
starting with 'board_version' A quick cached version of the most recent
board is stored at the original 'board + sep + id' key.

The purge method actually removes the board object from the db as well
as moving all the versioned copies to the deleted db.

The index and model files were updated to support the above change. The
biggest change is that the model now allows the deleted property in
validation as well as having a method to get a new version key.

Tests were updated to support this change as well.

NOTE: There is a race condition in the tests where sometimes delete
isn't finished before the undelete runs. A suggestion to fix this is to
batch all the create/update/delete calls so that they block.