check for the existence of async.orig_callback since our callback may exist there
refs #6 raise more specific errors
adds basic unit tests for error module