Downstream updates

Pushing some downstream updates upstream:

- Adding some legacy support for identity data.
- Reverting a previous change of identity data assignment which could cause state issues in some scenarios.
- Get the community URL associated with a given community ID, for a given `SFUserAccount`.
- Better support for returning to a previous community user.
- Moved SmartStore upgrade functionality to occur one time when the first store is accessed.  Doing it in `initialize` was causing key state issues when a custom key generation algorithm was specified.