[WIP] Handle session expiration gracefully

This will eventually fix #2092, however it's currently missing correct handling of some edge cases, tests etc. Whenever a 401 response is detected (which most likely means that the session is expired), a modal signin window is opened that lets the user sign in again to retry the action that triggered the 401 response.

That, together with Ember Simple Auth's automatic token refresh should resolve all problems with expired sessions and lost data.

Missing:

- tests
- when 401 is triggered by a transition the modal is opened before the redirect to the signing page which looks ugly
- the modal itself needs to be styled
I tried that but then `session.user` is always `null`. I'm changing it to:

```js
return container.lookup('store:main').find('user', 'me').then(function (user) {
  self.set('user', user);
}, function () {
  self.invalidate();
});
```