208 - Edit course properties - [DO NOT MERGE]

Quick preliminary PR for ticket https://github.com/FinalsClub/karmaworld/issues/208

Since we have no examples of doing a AJAX edit in the application, and I have no experience with django before this, I took a stab at what I thought might be best practices (after a few iterations).  Looking for any feedback.

Ticket still needs:
UPSERT - The definition of UPSERT that I know is that it is simply an update or insert call, and either updates an object if found, or creates it.  It sounds like what we want however is versioning, where the latest version is what is used.

Course name slug - Should this slug be modified from the original if the course name changes? Con - current page url would be broken, people bookmarks might break.  Pro - url properly represents course.  I'm assuming we should, but figured I'd double check

Icon - I need to make an edit icon, should be simple enough. 

Course Name - School uniqueness validation. It appears we have no validator for this (it breaks on add too) We should probably have one in a general place, haven't looked into doing this yet.

First comment regarding note tag display + edit - Should probably be it's own ticket.

Requirement to be able to do this - Email regarding privileges states that editing the course meta data should require karma.  I assume this means login as well.  How much karma should be required to edit courses?