campaignd: Print the destination IP in the send_error() call
campaignd: Add a typedef for the handlers map
campaignd: Use find() to locate a request handler

Makes it so for each request received we use
request_handlers_table::find() instead of a plain linear search to find
the handler, using the tag name of the first WML child node we can find,
instead of trying to locate one with a known handler id.

In theory this allows taking advantage of the request_handlers_table
type's (currently a std::map) own lookup mechanism.
campaignd: Reject bad requests with an [error] block

This can be used to signal campaignd clients in the future about
features that aren't yet implemented.

As with the previous change to using find() to locate a request handler,
this only applies to the first WML child of the request's root node.
Other nodes continue to be ignored.