Adding support for multiple engines

In order to support apps with swagger docs in the main app as well as one or more engines this patch allows the overriding of `Config.base_application` to optionally return an array. `Config.base_applications` is used to access these values to ensure we're always dealing with an array even when `base_application` only returns a single value