FscHelper: separate `fsc` function with exit code, &c.

This commit contains several small-ish changes. In order of appearance:

  - Use an `FscParams.Default` static member instead of a free variable,
    to express the tight coupling of the defaults with the type itself.

  - Print compile errors and warnings with the appropriate `trace...`
    functions.

  - Return an exit code from the `fsc` function as I intend to use it to
    help implement incremental build logic. The `Fsc` function
    (uppercase 'F') still doesn't return anything so it can continue to
    be used in the existing framework.

The `Fsc` call syntax looks very similar to what was originally proposed
in #235.