Improve performance of mapping graders to criteria

This continues the pattern of doing bulk operations for mapping graders
to groupings, which solves the n+1 query problem.
Get rid of an eagerly loaded Grouping association

The ta_memberships association and its user association are used by view
and are eagerly loaded, so instead of introducing another `ta`
association to be loaded eagerly, we can simply reuse
`ta_memberships.user`. This reduces memory usage.
Add factories for assignment marking scheme

This is useful in specs that are dependent on the marking scheme of the
assignment, e.g., rubric criteria need to be associated with an
assignment with rubric marking scheme.
Specify assigning/unassigning graders to criteria
Fix functional tests for grader controller

Since the query parameter is changed from a concatenation of criterion
ID and TA username to a list of CriterionTaAssociation ID, the tests
need update.
Fix hash key alignment in tests
Restructured HTML for navigation + temporary styling.
Help text styling/formatting.
Fix API key help message box
Resolve merge conflicts.
Fixes.
Resolve merge conflict.
Merge pull request #1586 from arkon/s3-nav

Style guide part 5
Formatting
Merge pull request #1593 from arkon/help-style

Help text styling/formatting.
Change current_table val
Merge pull request #1596 from arkon/current-table

Update current_table value in graders view
Merge pull request #1578 from zhangsu/grader_criterion_mapping_performance

Improve performance of mapping graders to criteria