fix(modal): support close animation

Closes #1341

The second commit, to fix tests isn't necessary. It's here just for thoughts as the `in` class determines whether the modal or backdrop is actually visible.

Notes:

I'm not using the `$transition` method itself to create any transitions. I'm actually using the transition module just to determine if the browser supports transitions. Checking for transition support isn't actually necessary as modal still closes within 500ms due to the timeout fallback mechanism.

I understand that it's a little hacky that I did a `removeClass('in')` within the remove logic instead of attempting to change the `scope.animate`. However, changing the scope.animate for the modal isn't trivial as the modelWindow directive is using an isolate scope. Since the scope has been destroyed, there won't be a conflict between states, the ng-class on modelBackdrop and modelWindow directives no longer have any effect.

I realized that isn't any need for multiple backdrop element instances and that the element can be left in the DOM after its first creation, and hidden instead of being removed. This can be a future fix.