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.
Udp server is using the default buffer size which is 8192