Adding ability to set a total_timeout option, after which polling will stop and a 'poller_timeout' is triggered.

I added this as I don't want to poll indefinitely, or have explicit code to stop it after a specific amount of time.

In my case I specified a total_timeout: 60000, (msec) and after that the poller calls my poller_timeout function which notifies the user to start the process again.  Might find this useful in general since polling indefinitely feels wrong, and it is a different condition to the backbone.fetch timeout option.