Interim delivery

This version simplifies the bit-fields as much as possible while still
allowing variable type access.
The bitfield_trait has been changed to packed_trait. This is to
differentiate its primary purpose of packing bits into a data-block
rather than the bit-field aspect.
4 tests are failing related to arrays and vectors of packed data. When
these are resolved the code will be merged back to the master branch.,