Limit SIS ID length in Start a New Course form

Previously, cross-list requests will fail silently if the resulting
course SIS ID is too long. This fix makes it throw an error when that
happens.
Fix issue with hyphens in non-calendar course names
Add tests for calendar course start and end dates
Set non-credit course start/end dates explicitly

This is similar to what we've been doing to credit courses.
Merge pull request #147 from va7map/canvas212-2014-02

2 × Fixes for the Start a New Course Form