Add async capabilities to all existing implementations possible.

Adds completely new way to access data that needs to be hashed.
Merge pull request #5 from brandondahler/Async

Add async capabilities to all existing implementations possible.