Add method to clear queue

Based on @bcooksey pull request but also cancels the current request.

Because this is a single request at a time we should only need to abort the current one, not the entire queue. Since the queue is cleared first, the subsequent abort call shouldn't cause any other ajax queries to fire.

So far, it works well for me.
This seems wrong, it should be safe to `.abort()` a request that has completed, just do `if ( runningRequest )` please?