I modified the view load_profile, and added a get_by_access_key to the Profile model manager. All covered by tests.
Renamed accessKey to profileAccessKey throughout the code. Modified loadProfile JS method.
Improved loadProfile JS method success case, now it removes existing playlists and adds the loaded ones. Added two new methods to PlaylistModule: removePlaylists and addPlaylists. Also, added an "animation" argument to the playlist-removing-methods.
I modified createPlaylist JS method to work with createProfile.
Merge branch 'rebuild-load-profile' into rebuild-profile-management

I rebuilt profile-loading.
The load_profile view now searches profile by either an access-key sent in GET data or,
if no access-key sent, by profile_id in session.
I also modified the loadProfile JS method. If called with profileAccessKey argument,
it sends the key in GET data with the Ajax request. If profile successfully loaded,
it sets window.profileAccessKey, clears current playlists from the page, and displays
the ones loaded with the profile.
Finally, I modified the createPlaylist JS method to call createProfile if server responds
no-profile-message.