Adjust base::message_loop to changes in task's API

Since task is now a template but same message_loop must be able to run
tasks with different result type it was necessary to erase the result
type from the task.

Refers #32