app.Before receives a cli.Context but without flags parsed. There is no
point calling ctx.Bool() or ctx.IsSet() at that stage.
However, flags are parsed in commands, so minio initialization and
setting global variables (globalJSON, globalQuiet, etc..) can be moved
to the Before function of all commands.
Avoid setting command.Before for non leaf commands, otherwise Before
function will be called multiples times until it reaches the leaf
command.
```
mc config host list
mc config host add
mc config host remove
mc admin prometheus generate
```
The above mc commands generate an annoying error message complaining
about the leading slash in the alias argument.
Although alias does not support any slash or backslash, we allow the
user to enter it for convenience and the code will just clean it before
using it.