code review

Webpages are now crawled via an async queue and individual links can be
listened for via callback.