Adding a way to configure a scope to factory function

This code with a test helps solve the issue #26 

The layout of the new configuration is added as a unit test, but you can see how it is below:


    {
        "testSelfProperty": {
            "enabled": true,
            "priority": 10,
            "module": {
                "name": "./fixtures/middleware/self",
                "method": "run",
                "self": true
            }
        }
    }
These formatting changes aren't relevant to this commit.