Don't starve LSM worker threads.

There was a bug in the LSM worker code that stopped some worker threads
getting work units if there was a different work unit type scheduled
ahead of them.

While here allow the dedicated switch thread to also do deletes, to free
up pinned cache.