Added trigger variable to allow scroll checks to be fired from the model.

This is to allow the checking handler to be 'poked' when content of the scroll area is changed for reasons other than the infinite scroll mechanism (such as filters being applied etc).

The implementation I went with uses a zero timeout. This is to prevent an issue in what I would assume would be a common use case, that being specifying data array used by an ng-repeat (for instance) in the infinite scroll area as the trigger.

Without the timeout, if the scroll handler rereferences this same array, it can get into a cycle where it continuously triggers the scroll handler because the DOM doesn't get chance to update to a state where ngInfiniteScroll can infer that more data is no longer required.