level: fixes table compaction that may generate tables with overlapped ukey

This become a problem when new compaction picked-up and table key range search
doesn't expanded in the asumption that ukey never hop across tables (true in level > 0),
when this happen newer ukey might pushed into lower level, and since version.get
assume that this never happen, version.get will incorectly return older ukey instead.

This commit also fixes compaction retry, and will always expand key range search
when pick-up new compaction.

Fixes #83.