Update the table cache in update_table (fixes 67)

The problem occurs in the following scenario:

* an instance of a Table, obtained through Database.get_table, is used
  to insert some data
* a different instance of Table, obtained through Database.get_table
  call after the data has been inserted, uses a Table instance that is
  not up-to-date

The result is that, e.g. the keys created with the first Table object
aren't accessible via the second object.

This fixes the problem by updating the table cache in
Database.update_table.
Merge branch 'master' into fix-table-cache
Add a test case for table cache updates

This test case verifies whether get_table returns the most up-to-date
table object containing all columns that has been added to the table
since the last cache update.
Merge pull request #68 from grn/fix-table-cache

Update the table cache in update_table (fixes #67)

Thanks to @grn