-Use head/tail rather then nelts and lo.
-Require the buffer to be a power of 2, and use that knowledge
 to allow for cheap index calculations.
-Remove the use of a Vec<Option<T>> for storage and move to a
 unmanaged buffer.
-Swap naming of head/tail. Changed len to cap.
-Add is_full() and use it to check push push_back
-use is_empty() for pop/pop_back
-read get and make it return Option<&T>
-change get_mut to return to Option<&mut T>
-Fixed one of the contiguous entry moves in grow()
-Use unsafe for get()/get_mut()
-Correct some comment language.
-Rearrange the internal functions from external functions