Rename "bitfifoitem" → "item" and "BitFifoItem" → "Item"; rely on mod namespacing.
Alter the BitFifo and Item apis to take Option<uint> for bitsizes in anticipation of variable-sized items.
Remove unused and potentially wrong default method.
Change Item trait in anticipation of variable sized Items; add some limit-calculation helper utilities.
Add an impl<T: Item> Item for ~[T] and unittests some of which fail.
Remove two invalid unittests: popping a vec pops the full capacity for each element; for BitBucket this is uint::bits.
Introduce the type alias BitCount for API clarity.
Change pop API to also return number of bits actually popped.
Item impl for bool with tests.