Java incremental compilation. Made the input jar change processing working more closely to what we want. The commit is pretty meaty, but 99% changes apply to new 'incremental' classes, which are somewhat volatile for the time being.