rge: fix callout setup/teardown; handle invalid ethernet address
- Do the callout init early; since some of the teardown path expects the callout to be valid
- Handle an invalid ethernet address by generating a local one.
PR: kern/293307
Reviewed by: zlei
Differential Revision: https://reviews.freebsd.org/D55419