Load middleware and phases from `middleware.json`

Sample JSON:

        {
          "routes:before": {
            "morgan": {
              "config": ["dev"]
            }
          },
          "routes": {
            "loopback/server/middleware/rest" {
            }
          },
          "subapps": {
            "./adminer": {
            },
          }
        }

The JSON file can be customized using the usual conventions:
  - middleware.local.{js|json}
  - middleware.{env}.{js|json}

It is also possible to mount the same middleware in the same phase
multiple times with different configuration.

Example config:

    {
      'auth': {
        'oauth2': [
          {
            args: 'first'
          },
          {
            args: 'second'
          }
        ]
      },
    });