Fix and add more lookup combinations to the library name resolver

Also, make the resolver faster by skipping already tried combinations
and trying the most common ones first.
On certain OSs, particularly OSX, the usual "lib" prefix is not
quite standard: some libraries use it, some don't.
Currently, the resolver tries the original name set on the DllImport
directive once, and then tests alternative suffixes but always adding
a fixed prefix. As per mono guidelines, DllImports always have the Windows
name, which means that with a DllImport set to "Library.dll", for a
library names "Library.dylib" on OSX, the lookup will fail.

This fix makes the resolver try all valid combinations of suffix + prefix,
set for each OS:

Windows: prefix: none,     suffix: dll
Linux:   prefix: lib,none  suffix: so
OSX:     prefix: lib,none  suffix: dylib, so, bundle
build: Add libMonoPosixHelper to the embedruntime libs