Redirect user if signup invitation isn't valid

Closes #3565
- Added server API isInvitation (analog to isSetup), checking if an
invitation exists for a given email address.
- If the invitation is no longer valid (or didn’t exist in the first
place), the user is redirected and an error notification is shown.
Can this error get moved above the success return?

like
```js
if (!options.email) {
     return Promise.reject(new errors.NoPermissionError('The server did not receive a valid email'));
}

return dataProvider....
```

That way all the error handling will be in the same place, and we have less overall indentation, woo