Add email loading state until user info resolved

Expose a function in session that returns a promise that resolves to the user private info.
Add a loading state and an error state to the email setting.

Fixes #1059.