Remove default values from formula constructor parameters

I want to make the name and path parameters of the Formula constructor mandatory in order to make some other improvements possible.

The only place that we instantiate formula classes directly is here:

https://github.com/Homebrew/homebrew/blob/277b38f18f1b9f6795008b9c1f2c9a500ed27801/Library/Homebrew/formulary.rb#L50

and we always pass both the name and path. This wasn't always the case, but I did [some work](https://github.com/Homebrew/homebrew/commits/master/Library/Homebrew/formulary.rb) earlier this year to simplify things.

In the past, subformula classes were instantiated directly, and most of the time one or both arguments were omitted. This change will break that, but (a) it won't break formula loading, since subformulae are not instantiated in the class body, and (b) we don't use subformulae anymore, in core or in any of the blessed taps.