[refactor] a configurator may define more than one commands / has enter/exit callback
[refactor] use the first host configuration as the default (instead of providing a special "default host context")
[refactor] use vector for holding the list of host-based configuration
[refactor] do not use intrusive list for obtaining a set of handlers/filters/loggers (as a preparation to allow them to be referred from more than one configuration)
introduce h2o_configurator_context_t as a preparation to support path-level configuration
path-based configuration; introduce directives: `paths` and `directory` in place of `files`
report configuration error if no handler was defined for a given path
elements of paths should be applied from the longer ones to shorter
handle lower-level configuration commands after processing all the upper-level commands (i.e. host-level commands are handled after global-level commands, paths-level commands after host-level commands)
generalize the NEXT_LEVEL flag as DEFERRED; the primary use case (behind the change) is generator configurators, by using the flag it is possible to process the command that actually sets up the generator after handling all the attribute commands
proxy configurator now accepts `proxy.reverse.url` and `proxy.timeout.io` commands
introduce H2O_CONFIGURATOR_FLAG_EXPECT_(SCALAR|SEQUENCE|MAPPING) flags for performing type check in core
no magic number
`--help` should print configuration directives per-module (rather than per-level)
Merge branch 'kazuho/expr/path-based-config'