Implementing a proper StormpathUser.save() method.

This does a lot of stuff:

- Firstly, it checks to see what fields have been changed using a series of
  strategies.
- Secondly, it saves the changes to the Stormpath user remotely.
- Lastly, it saves the changes back to the local database.

This ensures that things are saved in proper order (Stormpath first, then local)
-- that should prevent synchronization issues!

Previously, saved changes only applied locally >.>