Removed unused code.
Replaced initialization of lookup tables.
Return bit_vector instead of using a reference.

More use of the C++11 move constructor.