add grading periods api

closes CNVS-15907,CNVS-15908
This commit adds a RESTful, JSONAPI standardized api for grading
periods, along with a serializer and some naive permissions on the
GradingPeriod object.

Test plan
- Note that you'll need to enable the 'multiple_grading_periods' feature
  on the root account.

- Test each of the following endpoints, according to the newly generated
  grading period documentation:

  - GET index
    - /api/v1/accounts/:account_id/grading_periods
    - /api/v1/courses/:course_id/grading_periods

  - GET show
    - /api/v1//accounts/:account_id/grading_periods/:id
    - /api/v1/courses/:course_id/grading_periods/:id

  - POST create
    - /api/v1/accounts/:account_id/grading_periods
    - /api/v1/courses/:course_id/grading_periods

  - PUT update
    - /api/v1/accounts/:account_id/grading_periods/:id
    - /api/v1/courses/:course_id/grading_periods/:id

  - DELETE destroy
    - /api/v1/accounts/:account_id/grading_periods/:id
    - /api/v1/courses/:course_id/grading_periods/:id

Change-Id: I586d6eaf565f35d5d4bd8e22aaa9fd72f0d07832
Reviewed-on: https://gerrit.instructure.com/42451
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Cameron Matheson <cameron@instructure.com>
QA-Review: Amber Taniuchi <amber@instructure.com>
Product-Review: Josh Simpson <jsimpson@instructure.com>