Revert "Remove clean and realclean actions"

This reverts commit fa9d3f8fb42bf609fab81c6a9910bc039dcb02c3.

Turns out some packagers are relying on this
Tidied code
Build .c and .o in temp/ instead of lib
Get rid of layers

They weren't being helpful (and in one case a bit wrong), and prevented
things from working on 5.6