sync tests support passed arguments

.complete() now supports an optional second argument that will be passed
as the third argument to the complete function.
fix no sync test reaching queue

Changed the test for --exec and no sync benchmarks were making it to the
queue.
improve sync api

complete sounded like an action was being taken, oncomplete sounds much
better. Also included a test to verify this doesn't break anything.
async api rewrite

Async tests sound better with .start() and .end(). Also added more
distinct .onstart(), .oninterval(), .onend() ways of attaching methods
to each event.
now working on v0.2.1