Fixes user makefiles

Previously, we had the library linking depend on a changed dependency.  That's
not enough if a header (like uthread.h) changes.  So the .o file creation needs
to depend on the headers, in some manner.  In lieu of depending directly on the
headers, we depend on the lib, which we know depends on the headers.

Additionally, the install target was triggering all the time, which kept
recopying (and updating the timestamp on) the installed libs.