OFConnectionManager: batched message processing

Long ago, Indigo processed messages from a socket as long as data was
available. This was potentially unbounded and caused problems in practice where
the switch processed hundreds of messages from one connection before moving on
to other tasks. Back then I changed it to process a single message at a time.

This change reduces the overhead per message while retaining fairness. We
process at most 10 (or 10 ms, whichever comes first) worth of messages from
each connection.

This increases performance in my barrier benchmark by 140%.