Removes anonymous struct, replaces with std::pair

The previous anonymous struct has a const reference to a temporary.  I
realized this was unsafe (though it did, unfortunately work).  Using
std::piecewise_construct and a pair, the _Table_Locker class can be
eliminated safely.  It's not very pretty but I can finally eliminate
that class entirely.