Temporarily implement polymorphic association

The Notifications in the v1.0 design are going to be based on the user
exercise, not on the individual submissions. In order to support both
the beta and the v1.0 designs in production simultaneously, I've decided
to use a polymorphic association and a duplication hack that keeps the
related notifications in sync.

This will be removed when the beta application is retired.