mattdrayer/api-proficiency-redux: New StudentGradebook

@chrisndodge @martynjames @ormsbee @ziafazal -- complete rework of "proficiency" with the introduction of a new 'gradebook' app.  

Essentially, 'proficiency' as a concept is no more -- we simply have 'grades' -- you'll see the leaders list is maintained although there are some slight schema changes as well as URI changes which will require corresponding updates in Apros.  These changes are most-easily reviewed in this PR by looking at the response_data elements returned by the modified views.

The seed script is not included here at the moment -- I'll be adding it either to this PR or in a follow-on PR in the next couple of days.  I'm really just looking for feedback and hopefully a thumbs-up that the logic/math are sound and that all of Apros' needs are met with the updated (smaller) API.
@chrisndodge @ormsbee, During broader (unit) testing today I discovered that executing grades.grade() in this context resulted in some seemingly-unrelated failing tests which have to do with mock_tracker -- see test_module_render.py and test_submitting_problems.py above.  If I disable the signal then the tests would pass.  Enabling the signal would cause the tests to fail due to more than one matching record being returned for the get().  Changing to filter and then searching for the proper module seemed to resolve the test failures, although I'm not 100% sure it's the right solution.