Implemented local auth configuration

Allows to configure basic-auth settings at the project level, in `composer.json`:

```json
{
    "config": {
        "process-timeout": 3000,
        "bin-dir": "bin",
        "basic-auth": {
            "my_satis.loc": { "username": "foo", "password": "bar" }
        }
    }
}
```

Local configuration is merged with the one from `auth.json` and always has precedence.
This let it possible to override auth config at the project level.

Unit tests have been updated with new tests and slightly improved for the existing ones.
Note that `@covers` annotation tags have been removed since they prevented to generate coverage on protected/private methods.