Put --no-as-needed in linker flags
Put --no-as-needed in linker flags

This fixes #16092 for me on Ubuntu 21.04, where presumably the default
linker behavior is --as-needed?  As explained in that ticket: when we
only interact with a library by invoking the constructors of its static
initialized objects, --as-needed breaks our interaction by failing to
determine that the library has to be loaded at all.

This flag isn't supported on OSX (and perhaps nothing equivalent is,
according to a brief search), so we test to see whether trying to use it
throws an error and we only enable it if not.

SudiptaBiswas/moose,sapitts/moose,sapitts/moose,harterj/moose,idaholab/moose,lindsayad/moose,bwspenc/moose,sapitts/moose,laagesen/moose,harterj/moose,jessecarterMOOSE/moose,milljm/moose,lindsayad/moose,jessecarterMOOSE/moose,bwspenc/moose,nuclear-wizard/moose,SudiptaBiswas/moose,harterj/moose,lindsayad/moose,bwspenc/moose,andrsd/moose,laagesen/moose,idaholab/moose,jessecarterMOOSE/moose,milljm/moose,andrsd/moose,milljm/moose,harterj/moose,laagesen/moose,dschwen/moose,SudiptaBiswas/moose,idaholab/moose,milljm/moose,milljm/moose,bwspenc/moose,dschwen/moose,dschwen/moose,SudiptaBiswas/moose,laagesen/moose,dschwen/moose,andrsd/moose,idaholab/moose,andrsd/moose,sapitts/moose,SudiptaBiswas/moose,bwspenc/moose,dschwen/moose,nuclear-wizard/moose,sapitts/moose,nuclear-wizard/moose,jessecarterMOOSE/moose,laagesen/moose,harterj/moose,lindsayad/moose,idaholab/moose,lindsayad/moose,jessecarterMOOSE/moose,nuclear-wizard/moose,andrsd/moose