add lookup for property value codes of unions
Split out Moar-specific ld flags

Specifically splits @ldshared@ into @ldshared@ and @moarshared@.

The difference is that @ldshared@ includes flags that should be used
to create shared libraries by users of Moar, but @moarshared@ includes
flags that should only be used when building Moar itself.

This includes the -install_name flag on OS X and the /implib flag on
Windows.