Switches from $timeout to $interval to support running Protractor tests

Protractor waits for all outstanding $timeouts and $http requests to complete before it considers the page to be loaded, so the poller would block protractor tests from running.

This change is based on the recommendation made in the Protractor FAQ (https://github.com/angular/protractor/blob/master/docs/faq.md#my-tests-time-out-in-protractor-but-everythings-working-fine-when-running-manually-whats-up) which is based on the resolution of this issue: https://github.com/angular/protractor/issues/49#issuecomment-26443073