OVSDriver: use processes instead of threads for handling upcalls

This has several advantages:

 - The main process will not block upcall processes while writing to forwarding
   datastructures.
 - Upcalls see the forwarding state changed atomically between barriers, as is
   already the case with kflows.
 - The LuaJIT pipeline can use multiple cores.
 - Pipeline implementors don't need to worry about locking.

The complicated port quiescing code is completely removed.
OVSDriver: remove forwarding state rwlock

Because upcall processes inherit their own immutable copies of the forwarding
state there's no need for locking anymore.
OVSDriver: kill upcall processes if main process dies
OVSDriver: close file descriptors after forking upcall processes

We don't want upcall processes to hang on to file descriptors like OpenFlow TCP
connections, since a close() in the main process wouldn't cause the sockets/etc
to get cleaned up.
OVSDriver: reset signal handlers in upcall process
Merge into master from pull request #218:
use processes instead of threads for handling upcalls (https://github.com/floodlight/ivs/pull/218)