Added support for 'rebuildAllCourses' event

Previously changing the theme or updating plugins removed the entire
course working folder in order to force a rebuild. Now the code emits a
'rebuildAllCourses' event when the theme changes or the plugins are
updated.  A .rebuild file is written to every course.  When this file
exists on Preview or Publish, the framework is rebuilt.
Added support for a 'rebuildCourse' event

Changing the theme on a specific course shouldn't really trigger a rebuild
for all courses.  This commit corrects that.
Merge pull request #521 from adaptlearning/force-rebuild-of-courses

Added support for 'rebuildAllCourses' event