OFConnectionManager: batched message processing

Reviewer: @harshsin

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%.