Make userMessage and userErrorMessage consistent.

`LogUtil.userErrorMessage` changes the contents of its dialog depending upon the content (and/or length) of the incoming message, and this behavior seems to work pretty well.

Prior to this commit, `LogUtil.userMessage` would simply wrap the incoming message in a `JLabel` and display it, making long messages nearly unreadable. This commit just copies the behavior of `userErrorMessage` and displays the results from `LogUtil.getMessageComponent`.

I also went ahead and took advantage of generics and `StringBuilder` within `LogUtil.getMessageComponent`.