Need to find a way to make link fail on Linux (including UnknownOS)
Include the underlying exec exception when compile fails

This helps track down failures running cl.exe that produce no output (just an exit code)
Don't use Assembler for creating exported functions in sample app

- Assembler is now used only for private functions, wrapped in C for shared library access
- Re-enable tests on windows
Disable test on unknown os