Fix Set-Field for fields with non-integral number of bytes

When a field has less than 8 bits, the value in the Set-Field action has a whole byte, from which we need to extract the needed bits. Previously such Set-Field actions didn't take effect, as we expected the record field to contain only the needed bits.

There is a new scenario that tests setting the DSCP and ECN fields in IPv4.

This closes #153.