Throw an error if not invoked with two function arguments. Fixes #1.
Added tests.
Throw an error if the callback is called more than once.
Release 1.0.0.