Removed a constraint on prompt IDs.

It is now acceptable to have the same prompt ID across multiple surveys, but it is still invalid to have the same prompt ID multiple times in the same survey.
Allowed conditions on messages and repeatable sets.

The condition-checking code moved up the class hierarchy, so now messages and repeatable sets may now be refrenced in conditions. However, their value may only be compared to the NoResponse values, e.g. SKIPPED and NOT_DISPLAYED.