Replace app methods with plain functions

The pseudo-object app has been bothering me for a while:

- Its 2-level indirection is not easy to read/understand.
- The differences between function and method names is disturbing
- We are separating related dependencies in 1st-level function parameters, instead of emerging a dedicated associative structure

As soon as we group all the app dependencies into a plain javascript object, it makes the indirection almost useless (see `upcomingBirthdayCreationForExistingContact()` for example).

I also extracted a `app/sinon/doubles` module, because the `contactStoreDouble()` function I wrote in `test/core/app.js` was hidden by the one in `test/localStorage/birthdayStore.test.js` (WTF?).

@gregkare WDYT?