Metacomms 2.0

This one should be good, pulled in everything from #225 and fixed non-protobuff tests failing.
you now have two different truthy checks for data. ```data &&``` and ```data ?``` I would consider giving in and using a if or use the same style for both if the subtle difference is not important.