Async Future timing; Futures in non-akka releases

* Add `onComplete` listener approach for timings of asynchronous calls
* Move future out of akka-specific source branch; Fixes #44
* Use same-thread execution context to eliminate race conditions (with caveats)