Integrate visual styling into the course outline

STUD-1849
There are other messages that need to be added that aren't for category vertical, so I would recommend that you don't do this. I was thinking about moving the logic for generating the messages into JavaScript, or possibly even into the server. Eventually the validation should happen on the server as then we can include warning and error messages from other xblocks such as split_test, so maybe it is worth moving it now. The only downside is that this is more computation on the server when we're already too slow, so unless we find a way to cache it then it probably isn't the best idea right now.