Adding task.hpp with task cancelation support

This is work in progress - committing it in so I can work out issues
with VS2013.
Adding support for Visual C++ to task.hpp

Most of the implementation is just pulled in with using clauses.
Merge remote-tracking branch 'origin/master' into Adding-task.hpp1
Merge pull request #6 from stlab/Adding-task.hpp

Adding task.hpp