OpenFlow 1.4 bundles

Reviewer: @kenchiang 

These commits add support for the OF 1.4 bundle messages. The major advantage of bundles over sending individual state modification messages is that the controller can take its time generating flow-mods without putting the network into an intermediate state. Once all switches are updated with the new state the controller can send them bundle-commit messages at approximately the same instant.

The main work remaining is to process messages in a long running task instead of synchronously.
No strong reason. When there's just a few options and the bodies are large I tend to use else-if.