SocketManager: add task API
SocketManager: sort tasks by priority

Requires a sorted insert on task registration, but removes the need to traverse
the whole list in the main event loop.
OFStateManager: use ft_flow_first_match for strict matches

This makes it clearer which operations can affect multiple flowtable entries.
OFStateManager: inline flows_delete

Only used in one place.
OFStateManager: add interface for iterating over the flowtable in a task
OFStateManager: convert flow delete handler to task
SocketManager: add ind_soc_task_should_yield()

SocketManager will log a warning if the timeslice is exceeded by 2x.

Also update OFStateManager to use it.
SocketManager: downgrade timeslice exceeded log to VERBOSE
SocketManager: fix off-by-one when checking timeslice
SocketManager: make timeslice configurable at compile time
SocketManager: enhance task yield unit test

The unit test task now does both multiple units of work per call and spreads
out the work across multiple calls.
OFStateManager: decrease timeslice in utest

This exercises the task yielding more.
Merge into master from pull request #8:
Long running task implementation (https://github.com/floodlight/indigo/pull/8)