Ensure the recycle bin is not used while running tests
newdb: More efficient deleteing of multiple books
newdb: Workaround windows spinning the event loop when deleting files

Windows, being deigned by the geniuses that it is, spins the event loop
while deleting files to the recycle bin, and there exists *no other way* to
move files to the Recycle Bin, since the Recycle Bin format is not
documented or stable.

So we move only files out of the library in the thread calling
delete_books(). The files are moved to the Recycle Bin in a worker
thread. This has two advantages:

1) Faster deletes, since the main thread does not have to wait on the
Recycle Bin (some windows' installs are so badly messed up that moving a
single file to the Bin takes seconds)

2) Restoring deleted files from the bin will not restore them inside the
calibre library folder, where they become orphed. They will be restored
elsewhere.

Disadvantages:

1) If the user deletes a lot of books and quits calibre, they might not
be finished deleting on quit, this can probably be mitigated by popping
up a warning at shutdown