Waiting for user data to load before showing settings

Fixes #1059.
These 3 functions do not rely on user private info, so they should be executed immediately.

```js
function init() {
    initInvites();

    $scope.updateRewards()
      .then(setupFairyTxListener)
      .then(processReadyRewards);
  }

function initInvites() {
  return session.userLoadedPromise
    .then(function() {
      // populate the invite code if we have one
      // using data.inviteCode because for some reason the input's model is in a child scope
      $scope.data.inviteCode = session.getUser().getInviteCode();
      $scope.data.hasClaimedInviteCode = session.getUser().hasClaimedInviteCode();
      $scope.data.inviterUsername = session.getUser().getInviterUsername();
    });

init();
}
```