Merge pull request #485 from yawaramin/issues/478

FscHelper: add fsc function
Extract FscDefaultParams and make the Fsc task take file set. - relates to #485
Trace starttask and endtask - relates to #485
Fsc: flip function parameters order, &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.

  - Flip the order of parameters passed to the `fsc`/`Fsc` functions,
    from a function and a string list, to a string list and _then_ a
    function. This is more in keeping with FAKE style (e.g. the `Target`
    function takes a string and then a function), and also less awkward
    than having to fit an anonymous function inside the middle of a
    multi-line function call.

  - 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.
ReFake: implement incremental build logic DSL

Relies on the new 'fsc' compile function.