Prevented 'div_packet.num_bits' from biasing effective values of 'data' away from its upper range
Prevented 'div_packet.num_bits' from biasing effective values of 'data' away from its upper range

* Added a post-randomisation adjustment to 'div_packet.num_bits' to prevent it from biasing
  effective values of 'data' away from its upper range, resulting in incomplete coverage of
  'div_packet.data' (resolves GH-2)
   * If necessary, increases length to be just enough to contain value of 'data'
   * This ostensibly negatively affects the distribution of 'num_bits', but since every generated
     bitstream of length L is effectively L separate bitstreams of lengths (L, L-1, L-2, ..., 1),
     this actually improves the distribution
* Revised driver to no longer print effective data (i.e. 'data' masked with 'num_bits'), since
  'num_bits' is now guaranteed to be at least large enough to contain the value in 'data'

willch3n/code_samples