fix(mocks): remove usage of $animate.flushNext in favour of queing

The flushNext method of testing is difficult and highly coupled with the behavior
of ngAnimate's $animate workflow. It is much better instead to just queue all
$animate animation calls into a queue collection which is available on the $animate
service when mock.animate is included as a module within test code.
fix(mocks): ensure mock.animate contains all test helper code for ngAnimate

Closes #5822
Closes #5917