Monitor async behavior calling stop/start

This makes crawlify monitor async behavior (like XHR and setTimeout) so
that it can infer when the page is finished loading. All it does is call
the same stop/start methods that the user can call themselves. Fixes #14
Only overload async methods when crawling
Merge pull request #14 from bitovi/inference

Infer when page is finished loading