Remove unnecessary include from Future.tcc
Use SharedFunction::create where possible

This commit removes the use of DirectInitialize that should have been
done so in commit 9a10c4f.
Merge pull request #96 from magicant/refactor/async

More future implementation enhancement