Refactors the dlwrap.h header and then uses it to implement compiler
checks that the plugin implements the functions defined in omptargetplugin.h.
For symbols marked with EXPORT(), misspelled names, incorrect arity and type
errors are now detected at compile time. Either with errors immediately, or
warnings followed by failure to link. Motivated by an error in D115823.
clang-format: please reformat the code