Allow specifying all alias directives in `aliases`

Controlling the order of the Alias, ScriptAlias, AliasMatch and
ScriptAliasMatch directives is important to avoid directives shadowing
each other. Having an `aliases` parameter for Alias and AliasMatch
directives and a `scriptalias` parameter for ScriptAlias and
ScriptAliasMatch directives means all Aliases appear before all
ScriptAliases in the vhost configuration file, which means an Alias
directive can shadow a ScriptAlias directive. This breaks things like
the Nagios web interface.

Instead, extend `aliases` and its template to support hashes with
`scriptalias` and `scriptaliasmatch` keys so that all kinds of alias
directives can be specified in a single list, making it easy to control
their order.

Contains updated documentation and spec and acceptance tests.

The `scriptaliases` parameter still works as before but the
documentation now contains a deprecation notice informing users to use
`aliases` instead.