refactor($animate): use $animate.$$setClassImmediately to save code

I agree the core api should be one-to-one with ngAnimate =) But I don't think this is a good API design for the ngAnimate level, it would be solved in a more sane way by applying CSS styles in pre/post animation DOM events. If core needs to also emit DOM events then that would be sensible, but I don't think it makes sense to make this API do too many different things.

I can't force you to reconsider the design, but I think it would be worth thinking about. It will also make it harder to fix the sync vs async issue if this and that both land, so the API will be even crazier, and bugs filed on it will be harder to sort out.