batch: remove unnecessary synchronization

The comments were correct. Ensuring that the updates are in the
recv.update pipe for the app is sufficient, and that's inductively
guaranteed by the callback.
batch: process policy updates in batches

Apply the last one in the Queue.t and disregard the rest. When used in
conjunction with consistent updates, this is a huge win as it eliminates
many interstitial policy states, reducing the number of versioned
flowtables that have to be installed. The result is that the network
converges much faster when starting up.
batch: make policy queue size configurable

Defaults to the default size of Pipe.t's, which is 0.
batch: make policy-queue-size a command-line argument
Merge pull request #316 from frenetic-lang/batch

Batch process policy updates