Keep track of time stamp of received data

This allows clients to detect, once collection is stopped, whether all data has been received yet or not. It also removes the assumption that data will always be appended. Now, stored data is always updated to match the sent data when the timestamp of the received data is newer than that of the stored data.
Change 'columnChanged' to 'columnTypeChanged'

This is more descriptive of what is actually being detected.
Emit information when columns are removed
isCollecting() method
Build