Octree wireformat improvements checkpoint

Note: This is just a checkpoint, there aren't significant new improvements yet.

* adds the PropertyFlags<> template class
* adds some unit tests for PropertyFlags<>
* minor tweaks to how ModelTreeElements handle their encode process in the event that some models dont' fit in the element packet