Added md5 library to /ext and to index.html; added nunjucks template library, modified user profile to move hard-coded html into templates.
Added gravatar support to the user profile edit and view templates; better special character encoding (escaping);
line to br conversion for the bio text.
Fixed affiliations editor, updated bootstrap layout to be more standard (aka boring), fixed the gravatar/avatar editor and rendering.
Extracted user profile widget into stand alone code, using requirejs to load dependencies.
Added more templates to accomodate additional states (rather than supply content from within
conditional branches in the widget).
Added require js and require js plugins, removed new dependencies (md5, nunjucks) from main
index page.
Modified md5 to comply to amd style.
Update user profile service client to latest version.
Added descendig sorting by start_date to affiliations in profile view.
Refactored the user profile record handling. It is now called userRecord, and has an "account" property to reflect
globus account properties and settings. All templates updated to use "userRecord" as top level context object.
Also refactored syncing, saving, and rendering methods.
Refined the categories, which are for demonstration purposes, but making them a bit more rational.
Added default messages for missing fields, different for account owner to encourage them to complete
them.
Refactor callbacks to use bind when convenient, since most callbacks are just for async.