Engine: treat empty LinkFormat and TextFormat the same as null
Engine: implemented user configurable message patterns
smuxi.doap: added initial DOAP file
Engine(-IRC), Frontend-GNOME: user message patterns can't be static

As the smuxi-server can still host multiple Session instances the
MessageBuilderSettings type cannot store user message patterns statically. This
would overwrite the user message patterns of other users.

This commit also factors the setting members from MessageBuilder into
MessageBuilderSettings.
Engine: implemented /config remove command action
Frontend: handle exceptions thrown by commands

Letting the frontend crash because a command failed is a bit too harsh.
Merge branch 'stable' into experiments/configurable_message_patterns

Conflicts:
	src/Frontend/CommandManager.cs
Engine: fixed FormatException in Session.CommandConfig() by escaping {} for String.Format()
Merge branch 'experiments/configurable_message_patterns'