Make sure Table._free() does not fail.

We first try to commit() any outstanding changes in the table - it
may fail for several reasons, so make sure _free() handles these
failures well.
Add Table.refresh() test.