A few enhancments to the makefile header/footer.

Features:

- Implicit rules for compling dats/sats files into object files
- A new variable $(TARGET), which is the name of the executable to be
  built
- A default target which builds $(TARGET)

Fixes:

- The cleanall target no longer depends on the nonexistant target clean.
  It now depends on cleanats, and clean is an alias for cleanats.