Added message groups.

- Moved messages to their own file.
- Rewrote the random message functions around a common back-end function
that handles groups.