Compact lsm

Enhance the SESSION::compact API to work with LSM trees.

Also add a new timeout configuration to the compact API.