Modified the playlist-creation flow, and the server response if too many playlists.
Merge branch 'rebuild-create-playlist' into rebuild-profile-management

I modified the process-flow for playlist-creation.
If no profile, first create a profile, then load it, and then create the playlist.
These steps happen in separate methods, and customize each other by callback functions.
Added createProfile method.
Added create_profileview, with url-mapping and tests.
Merge branch 'rebuild-create-profile' into rebuild-profile-management

Separated out profile-creation.
It has its own client-side method now, playlist-creation may call it.
Added server-side create_profile view, too, with mapping and tests.
Also, started to use Mock and Factory for testing.
Added callback to createProfile calling from createPlaylist.
Changed expected no-profile message in createPlaylist. Added profile_required decorator to playlist views.
Fixed create_playlist view and its tests.
Modified save_profile view and its tests.
Modified saveProfile.
Fixed saveType argument when calling saveProfile. Also, removed the call to saveProfile from the sample-playlist-creating method.
Save-button now can be disabled/enabled.
Merge branch 'rebuild-save-profile' into rebuild-profile-management

I refactored profile-saving.
Server-side view has been prettified by using decorators.
Server-side tests have been improved using mocks and factories.
Client-side method has been slightly prettified. Also, I made it so save-button can be
disabled/enabled now.
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.
I fixed the addPlaylist JS method. Also, I reset profile migrations and the local dev DB, after I had messed up South migrations for profile.access_key.
Profile gets loaded at pageload.