Extract challenges to separate table.

There is some duplication between challenges and assignments (both
just render markdown files right now) but they differ quite a bit
semantically.
Condensed factories into a single file.
Seeder imports challenges.

Right now there is some duplication between the assignment and
challenge parser. This should be extracted into a separate class
that knows how to import either type of assignment.
Rename some spec files.
Can view a list of challenges.
Add a link to view challenges to layout.
Merge pull request #16 from atsheehan/extract_challenges

Extract challenges