Make minor changes to course.py for metadata

Upon loading, courses will now have a small amount of metadata added, so
that it can be displayed easily.
Add demo swirlypy tool to act as controller

For example, to run a course, you can invoke `swirlytool run <path to
course>`.