Interface improvements

Add build caching and flesh out kpatch-build so that it's a one-step process.

This is just a first step, I'll have much better makefiles and user interface soon.