Changed task to threadpool_task. Also changed interface to the threadpool_task to make the API more slick and easier to understand.
Changed elapsed time output to us to get better results for small sets.
Added async_task: Interface offers an event fd which can be combined with epoll to check if the asynchonous task has completed.