First implementation of bitfields.

It now only consists of two cool functions in parsifal.ml.
First use of the bitfields for DNS flags.
Documented the next steps concerning bitfields.
Rewrote bitstate as an (int, int) option.
Incorporated the bit state in string_input and lwt_input.
Switch dump backend from Buffer to POutput, a new type taking bitfields into account.

The changes have been made everywhere for the code to compile again.
New BasePTypes for bit fields.
Rewrote DNS flags with bit fields.
Added support for non-aligned enums.

It is now possible to have a 4-bit enums in a bit field.
Some improvement is needed to handle all the cases but it seems to work for DNS rcode.