Make cleanup

Simplifies the Make process by relying more on implicit rules. This also means that nearly everything compiles with the same flags. The only exceptions are those with explicit rules, e.g. the chirp tool.

Other notes/benefits:

* Tools which link against dttools now correctly rebuild when libdttools.a is changed.
* `make clean` is more selective about removing things. It only removes files we know we've generated.
* Changing the CCFLAGS/LDFLAGS for a module is now as easy as setting LOCAL_CCFLAGS/LOCAL_LDFLAGS. No need to redefine the recipe.
* There no longer is a need to add linker directory paths (`-L`) for all of the cctools modules.