MAINT: avoid redundant evaluation of user-provided function in l-bfgs-b optimization

closes https://github.com/scipy/scipy/issues/4076
Can't you make `()` the default value for `args`? Or does it actually get `None` passed in?