Add "nofunc" option (fixes #829)

This adds a `"nofunc"` option to the `no-use-before-define` rule that allows a
named function definition to be used before the location that it is defined.

This change was proposed in #892.