First pass at reducing database requests for Coach Report API
Efficient coach reports API implemented.
Added all extra keys and logic necessary to produce non-error
API responses to all axes on Scatter plot coach reports.

Change API logic used by timeline view to that used by more efficient
scatter plot API calls.

Note: by issue #473 the Timeline view is still currently broken, but
any problems are not due to changes here.
Avoid using Python keyword 'type' as variable name.
Change variable name 'type' to 'data_type'
Change variable name 'types' to 'data_types'
Added comments to describe partial functions.
Moved item and log queries outside of data_type loop to limit queries.
Removed TODO comment.
Merge branch 'release-0.10' of github.com:learningequality/ka-lite into coach_reports_efficiency
Fix for issue #473 - sensical timeline graphs depend on time sorting of log objects.
Merge pull request #497 from rtibbles/coach_reports_efficiency

Coach reports efficiency
Super happy to have this in--great outcome from the performance bash!
Also a note to @jamalex--in the heat of the night, I didn't make time to praise you for your uber work on your merged changes; great to have support for IE8 (and below for playing videos), and excited to be on the cusp of the mobile player support!  Awesome!!