Add definition of ``Challenge`` models.

https://github.com/madewithbytes/us_ignite/issues/25

The flow of the application is as follows:
- Administrators can create challenges.
- Challenge opens.
- People can submit apps for consideration in a challenge.
- Administrators moderate the application queue.
- Challenge closes.
- Administrators determine winner.
Add helpers to determine the status of the ``Challenge`` and ``Entry``.

https://github.com/madewithbytes/us_ignite/issues/25

Useful for validations.