Amended rebuild() to use possible new dataset

ADDED: Test for data change rebuild
CHANGED: Fn rebuild() now similar to DynaTable.rebuild(), taking data arg