Modified incremental compiler to delete old files

Also incremental compiler now produces a list of all products including those
from previous compiles, making it much easier to use with SBT tasks that
expect all products, not just the ones that were incrementally compiled, to
be returned.
I think a rename is necessary because the method needs  new signature. The method signature needs to be an additional `Set[File]` somewhere. The Set could be either in the return value or the Set could be passed into the `runOps` function so that runOps can include the products in the A value. I think including the Set in the return value, like @jroper has done, is the simplest option.