protocol_helper.hpp:  Simplify field_value::get when a field spans bytes
protocol_helper.hpp:  Add a type to lbit_mask
protocol_helper.hpp:  Change lbit_mask to msb_mask

* The notion of 'left most bit' is better represented by 'most
  significant bit'.
protocol_helper.hpp: Only accept unsigned types for fields
protocol_helper.hpp:  Add tuple typedef and field_count enum to protocol

* This allows for getting the tuple type of a protocol, and the field
  count of a protocol.
protocol_helper.hpp:  Added setting of a field value
protocol_helper.hpp:  Improved protocol checking

* Check that each bit for a field is set and retrieved correctly.