Revert "SnapshotTable correctly manages reference to Schema"

This reverts commit 6c55d7dd6d9a28a784740fcc682401a1f5b8a771.
Schema no longer managed by Table

Row cannot be shared by more than one Tables, so it makes sense to
let Table manage Row's memory -- delete all rows in ~Table().

However, Schema can be shared among Tables, so it's better to
manually manage the life cycle of Schema objects.

Also, this makes cleaning up SnapshotTable easier -- no need to
worry about deleting the Schema while some snapshot might be
accessing it.