Partitioning support for TCP data structures

In order to scale up with the number of connections (and operations per TCP conn), we need more hash tables and more locks.