Test validate objects

I went a bit further here which might require more intense review than just additional unit tests.  I've added validation to the validateDataObj function which caught a lack of tabids on the window tracking code.

Currently I'm writing an error to the console so we can track the invalid data however I am returning null in those instances as well so the data won't be emitted by the emit function which could cause us to lose some data.