The header was split into individual files to make it easier to manage.
enums that were just a u8 or u16 with determinate values now are set in
the definition instead of using const values.
Errors were added. Some of these are just best guesses at what is needed
at this time.
Added a macro to the bits for checking buffer and mask length. This
keeps the error generation consistent and makes the code easy to read.
Started, but have not finished the packet stuff. I want it to have a
view and a builder.
I was shifting before masking because I had been using a larger mask,
u16. Now it masks then shifts because I had changed it to being a u8
mask for each section.