Import chai-properties lib
Use opaque id for client async timeout values

Ensures the proper lookup behavior for logging and also avoids exposing node externals to client code.
Unify task logging in the pending task

Avoids duplicate logs for ajax and other tasks and exposes much richer information to clients.

Fixes #16