Convert NO_SHARED to MK_SHARED and make a first class bsd.opts.mk consumer
This changes NO_SHARED (a knob that doesn't conform fully to NO_*) a proper MK_*
knob and allows others to customize behavior/rely on MK_SHARED being set to control
other knob behavior. For example, I discovered that MK_COVERAGE in
^/projects/runtime-coverage doesn't play well with NO_SHARED.
MFC after: 1 month
Relnotes: yes (NO_SHARED might be used by downstream consumers)