some new params in build.yml

There is less hard coded functionality now. Instead of passing
unconfigurable params direclty to compiler and linker I now allow them
to be set in build.yml with defaults when not supplied (in most cases)

The following params were added:

 - compiler (defaults to clang++)
 - cflags (defaults to none, extra args to pass to compiler)
 - lflags (defaults to none, extra args to pass to linker)