Add ability to use bitfield structs on builders

Now the conversion from struct => long is taken care of in the builder. The builder will accept either a long value or a struct representing the corresponding bitfield.