Tested and fixed LinearGrowthHashTable.
Tested and fixed LinearGrowthHashTable.

* Added unit test.
* Fixed bucket initialization so that there are enough buckets to
  support the key width.
* Replaced imaginary `<<<` "left shift with ones" operator with
  power-of-2 method of creating a contiguous block of 1 bits.
* Fixed conditional to keep `bucket_idx` in range.
* Fixed adjustment offset to be "half" the range instead of the "whole"
  range (`2 ** (key_width - 1)` instead of `2 ** key_width`).
* Inlined load calculation.
* Renamed `del` to `discard` to match Python set API and to avoid
  keyword.
* Reversed incorrect item deletion conditional.
* Fixed growth method.  It should not depend on any current bucket index
  but on the index of the added bucket and its corresponding "low"
  bucket.
  * Reordered statements so that list of buckets is the right size.
  * Fixed same conditional and adjustment offset issues as for
    `bucket_idx`.

afbarnard/glowing-broccoli