Privacy Panel new pull request

This is a new pull request. We had to remove the old one due to big problems with git and some Schroedinger patches....
nit: we have to add one more function to avoid this `_getApp()` is rejected (This would not happen and should not happen), and if that happen, we should throw out error. And no matter `_getApp()` is resolved or rejected, we should always call `done` to make sure tests can be run.

Please check https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/test/unit/modules/apps_cache_test.js#L48