Make course dashboard more robust against bad courses (eg ErrorDescriptor)

Currently, when bad course data is loaded, producing an ErrorDescriptor, this crashes the course dashboard, because the dashboard views assumes the course descriptor has valid methods like `has_ended()` and attributes like `course.current_test_center_exam`.  

This PR modifies student.views and dashboard.html to not crash on bad courses.