implement the null container

the null container is a bundled, always available container
useful for debug purposes and/or as fallback emergency container.
Currently it just logs the requests it receives.
add and use the request dispatcher

the request dispatcher binds an URL against a container.
The binding policy is first fit: the first registered container
which matches a given route is selected and the search stops.
container_null unit tests; restore coverage
bootstrap the httprouter tests
realign/reorder struct RoutePack

we don't know still if this is speed-critical, however
this reordering is trivial and cannot harm.
extend container API for httprouter needs.

be more strict during container creation for allocation failures.
add function for create a static, custom container: will be needed
by httprouter tests.
reimplement null container in terms of new custom container API.
add the default container and port to new API.

a `default` container is a container which runs independently
from the route (aka by default, hence the name).
If and only if the container doesn't serve - currently implemented
as checking for not-success in container invocation, the usual
search by route, first fit, takes place.

default container is optional and not set by default.
If there isn't a default container, the routing is purely done
by route match, first fit.

a default route can be useful, for example, in the following
scenario:
- you have a bunch of static files in $DOCROOT
- AND your app is mounted on $DOCROOT

without the default container, you'll have, either
- to mount the app under $DOCROOT/something (route = /something)
  and mount a static file container under $DOCROOT/ (route = /)
- to play wih rewrite_rules

or others similar nasty workarounds.
Of course you still can do that or whatever tricks you want, but
at least now you have a choice.
event_loop_add_fd_watch() and event_loop_remove_fd_watch() now add/remove one type of callback per time.
rename the setter of the default container
implement the null container

the null container is a bundled, always available container
useful for debug purposes and/or as fallback emergency container.
Currently it just logs the requests it receives.
add and use the request dispatcher

the request dispatcher binds an URL against a container.
The binding policy is first fit: the first registered container
which matches a given route is selected and the search stops.
container_null unit tests; restore coverage
bootstrap the httprouter tests
realign/reorder struct RoutePack

we don't know still if this is speed-critical, however
this reordering is trivial and cannot harm.
extend container API for httprouter needs.

be more strict during container creation for allocation failures.
add function for create a static, custom container: will be needed
by httprouter tests.
reimplement null container in terms of new custom container API.
add the default container and port to new API.

a `default` container is a container which runs independently
from the route (aka by default, hence the name).
If and only if the container doesn't serve - currently implemented
as checking for not-success in container invocation, the usual
search by route, first fit, takes place.

default container is optional and not set by default.
If there isn't a default container, the routing is purely done
by route match, first fit.

a default route can be useful, for example, in the following
scenario:
- you have a bunch of static files in $DOCROOT
- AND your app is mounted on $DOCROOT

without the default container, you'll have, either
- to mount the app under $DOCROOT/something (route = /something)
  and mount a static file container under $DOCROOT/ (route = /)
- to play wih rewrite_rules

or others similar nasty workarounds.
Of course you still can do that or whatever tricks you want, but
at least now you have a choice.
rename the setter of the default container
more router tests

functions coverage is now 100%.
add fake constructor, for debug and testing

to build fake requests is needed by the httprouter tests.
header, trailer and fix a memleak.