Connection now has whole responsibility of cleanup

HTTP connection process now manages both scenarios
requiring cleaning up of the load balancer's ets table;
instead of this being owned by both the conn and lb.
Encapsulated remaining interactions with conn ets

Created better abstractions on current ets table layout
to communicate what we want to accomplish, not how.
Removed speculative sizing and enforced common max

Difference between speculative and "real" size was no
longer material to the algorithm.  Used macro to enforce
consistent usage of ceiling for pipeline.
Encapsulated the iteration of connections and msgs

Use of foldl for iteration is not hidden as implementation
detail.  Also hid details of how to message conn to set
tracing within API.
Changed pipeline algo to smallest pipeline first

Big commit. Switched algorithm to one which will favor
the connection with the smallest pipeline first
(deciding ties by timestamp of last finished request,
and then by pid as ultimate tie breaker).

Note: this also drastically changes the internal
representation of the connection in ets and is dependent
on specific order of operations when changing key values
to limit risk of race conditions between loadbalancer
and a given connection.

Also removed connection reporting of start of request
as this was no longer necessary since the load balancer
tees up the entry into ets with a 1.