BLK-191 Performance

BLK-191

This branch uses python's `struct` module to parse the data packet, rather than parsing it manually with python. It represents a significant performance boost.

This change has been verified to work with twitter and temperature regulate. More verification is necessary. This pull requests exists for code review while we test.

I am planning on using the struct guideline to create unittests that create fake data to throw at the opto.
Sometimes we get extra data though.  The previous code ignored it,  I am too