[this is second invocation of D23408]
Add optional epoch to struct task and struct gtask. When processing a taskqueue and a task has associated epoch, then enter for duration of the task. If consecutive tasks belong to the same epoch, batch them.
Use NET_TASK_INIT() and NET_GROUPTASK_INIT() for drivers that process incoming packets in taskqueue context.
Add a temporary compatibility hack to ease transition to new ABI for people who have port modules (e.g. nvidia.ko).