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.
The problem is that the return type of the method has changed, it now returns a tuple of the products and A, instead of just A. If we change it, we need to change everything that uses it.