Apply a limit to the number of times the seek sentinel runs

The limit is currently set to 2 (so the initial pause attempt happens, then
the sentinel tries twice more before giving up).
Refactor tests
Ensure pause sentinel attempt counter reset by calling pause()
Implemented limited retries for seek sentinel

Refactored some of the existing code for the pause sentinel to bring the
two similar blocks of code into line. Renamed/added assertion to an existing
test.
Ensure that seek sentinel giving up doesn't stop pause sentinel

Added a test to ensure that when the seek sentinel gives up trying, the pause
sentinel is then able to run immediately if applicable.

Adding this test revealed that our seek sentinel always assumed that the seek
was going to be successful and updated the 'last sentinel time' member variable
accordingly. This is wrong and undesirable, so we removed the offending line
as a result of the test.
Added test to ensure that calling playFrom will reset the seek sentinels attempt count.

Added TODO around unecessary use of 'self' in the html5 common tests.
Added test to ensure that when the device enters and exits buffering it does not reset the sentinel seek attempt count
Pause sentinel should not emit a PAUSE event when it re-attempts an unsuccessful pause. The PAUSE event is only for the state transition
Remove TODO
Refactor the sentinel-retrying/giving-up logic for better code reuse
Refactor CEHTML tests prior to adding new ones

Pull in getToPlaying() helper function from HTML5 tests. Swap to using it where
possible.
Add fireSentinels() helper from HTML5 tests. Swap to using it.
Introduce configureSeekToFail() helper, change tests to use it
Add test to ensure pause sentinel retries twice for CEHTML
Small refactor on eventTypeHasFired() for clarity
Pause sentinel should give up and emit a failure event on the third time it has to attempt to pause
Ensure calling resume then pause resets the pause sentinel attempt count

Added TODO around whether calling pause() from the PAUSED state should or should not reset the pause sentinel attempt count
Ensure seek sentinel is retried twice
CEHTML seek sentinel gives up on the third attempt
Added extra asserts to a test, which revealed a bug

Bug fixed by modifying configureSeekToFail() helper to reassign
the new 'seek' stub to seekSpy global. This is required by
deviceMockingHooks.finishBuffering().