ejabberd_cowboy module: Common listener/router for Cowboy modules

Currently, a separate listener and router is used for each ejabberd
module that uses Cowboy.  Thus, a separate listening IP/port is required
for each module.

This module provides a common Cowboy listener/router (similar to
ejabberd_http in P1) that allows multiple Cowboy modules to share the
same listening IP/port and separate traffic based on the Host and/or
Path of HTTP requests.

This commit also includes minor and backwards-compatible updates to
mod_bosh and mod_metrics to make them compatible with ejabberd_cowboy,
as as well as updates to the example ejabberd.cfg.
update test config