Refactor async collection loading to a single loader class

I've changed to a unified `AsyncTaskLoader` approach for loading the collection. This has the advantage that it is aware of the activity / fragment lifecycle, so it's easier to avoid bugs, not to mention reducing duplication. The main motivation for this was fixing [Issue 1632](https://code.google.com/p/ankidroid/issues/detail?id=1632) -- hopefully it hasn't introduced too many new issues.

I have also removed a bunch of unused stuff that was causing warnings, and fixed deprecated method warnings for the animations. Sorry that it's all in a single commit.