Make it easier to subclass Table

Before this patch, every subclass needed to implemented its own
_new_from_slice.
add more tests, replace other hardwired Table
Added table.copy() method. Closes #965