Add abort() interface method

The abort method should be called when a new page request overrides an
outstanding one (in the browser, when using the html5 history API). This method
should know what async operations are ongoing and how to cancel them.

For example, a GET request in the browser results in a series of API calls by
a page. As the calls are in flight, another GET request is made. The outstanding
API calls should be ignored via a call to abort() on the first requested page.