Configurable message length limit for HTTP API

We currently accept all (valid) outbound messages in the HTTP API. Ideally, we'd like to reject messages that can't be sent for some reason. Since we don't (currently) have any way to get capability information from channels, the easiest thing to do here is add conversation config, starting with the length limit.
It's the validation checkers that need the config, and the base `MsgOptions` class is very generic and doesn't know anything about those. I'm fine with making it less generic, though.