Renamed/refactored some properties and names on SISCourseData object.  C...

...reated a mixin to define the "contract" for object that gets returned by data access layer.  Add tests for the mixin.
Similarly, you could have a test case to validate that the sis_account_id will only return  course group when all 3 exist  - course group, dept and school