Distinguish between problems and exercises

A problem consists of a README and a test suite, along with any
supporting files. An exercise is a problem that is solved by a specific
user.