Mudblood.Contrib.MG: Added some guilds.
Mudblood.Contrib.MG.Profile: 'char' and 'password' should be Maybes
Mudblood.Contrib.MG.Profile: Added map file setting.
Mudblood.Contrib.MG: Added GMCP module.
New module: Mudblood.UserData

General-purpose datatype for heterogenous collections of values.
Mudblood.UserData: Fix previous commit.
Mudblood.Contrib.MG.Combat: Don't wrap the combat triggers in
TriggerFlows.
New module: Mudblood.Contrib.Settings

Provide a simple means to store and read user settings at runtime.
Mudblood.Trigger: Added combinator 'pass'
Control.Trigger.Flow: Make TriggerFlow a Monoid.
Control.Trigger.Monad: Added 'choiceT'
Mudblood.Text: Added 'linesAS'.
Mudblood.Core: Unify error handling

Make MB an instance of MonadError StackTrace, where StackTrace is
a list ("stack") of (String, String) pairs. The first string denotes the
subsystem that generated the error, the second is the error messages.
Functions in the MB Monad can throw, catch and forward errors, where
forwarding means that another messages is pushed onto the stack.
Added Mudblood.Screen

Combine common functions of all screens into a ScreenClass
Update Main modules.
Merge branch 'guilds'
Mudblood.Contrib.MG.Guilds: Added defaultStatus and tanjianStatus
Added Mudblood.Contrib.MG.Communication
Mudblood.Contrib.MG.Communication: Optimize trigger.

Performance was bad, not sure about the reason. It was either the StateT
or matchAS does not cache regex-TDFAs like regexAS does. Need to
investigate if there's a difference between regexAS and matchAS.
Mudblood.Trigger: Added type signatures for return functions.