CYB-343 Engagement index: percentile calculated based on visible scores only


  * provides the student's percentile ranking in the engagement_index feed, as [:percentile] on
      the hash of students
  * implemented as a Strategy pattern, using refinements on Array

[CYB-343 Engagement index: percentile is being calculated based on visible scores only](https://jira.ets.berkeley.edu/jira/browse/CYB-343)

The code in the gallery_controller is badly in need of refactoring, if someone gets the time.  I've just extended the pattern with one more field.  The #student_data helper method has more parameters so that the data it needs is only computed once in the main #index action and not in each iteration.