Redefine 'clean' and 'cleanall' targets to preserve ability to use compiler

[reviewed by hilde]

Traditionally, the Chapel Makefiles' 'clean' target (and more recently
'cleanall') have removed both the intermediate files used to build the
compiler and runtime (e.g., object files in gen/* directories) as well
as the final artifacts themselves: the compiler, runtime libraries,
and generated module files.

This commit moves the targets that are needed to use Chapel out of the
'clean' and 'cleanall' rules and into the 'clobber' target.  The
rationale is that this is a useful capability for someone who is
packaging an rpm for Chapel or just trying to clean up after building
an installation for multi-user use.  It's also easier to make this
small change to the clean rule than to introduce a whole new target
through all the Makefiles.

The main counterargument against this change was that it isn't what
other projects do; but since Chapel keeps its intermediate files near
the sources rather than using a distinct 'build' directory (as in
autoconf projects) nor supports an 'install' rule, we already differ
in ways that suggest a different approach might be more appropriate in
our case.

If, over time, we decide that there are good reasons to preserve the
existing 'clean' behavior, we could introduce a new target (I like 'tidy'
as being less than 'clean').  Again, the reason I didn't do that here was
for simplicity and a belief that nobody relies on the current 'clean'
behavior for any important use cases.





git-svn-id: http://svn.code.sf.net/p/chapel/code/trunk@21905 3a8e244f-b0f2-452b-bcba-4c88e055c3ca