Change closures to use $app as the first parameter.

Almost always the first parameter is $app therefor it makes little sense
to use `use` part of the closure and having PHP do context switching all
over the place.

This also makes it explicit in the service providers exactly what $app
instance is used.
i see the options initializer as a private factory, and it does indeed take parameters where it is used (i change it to do that).

Also this is for 2.0, that means we "can" break some stuff, and since its "private' it should be okay