callout: tidy up _callout_init_lock()
Separate function into assertive part and into assigning part.
Consistently use func in the assertions. Write the assigning code in
a declarative style.
The functional change is that we no longer validate flags in the
non-INVARIANT kernel. The assertion that checks flags has been there for
17 years, so all code that calls with invalid flags must have been
filtered and fixed.