Create a top-level "objs" directory, and put generated
objects, including the os-base directory, under that directly.
I tried to create a top-level "obj" directory, but

BSD make is hardwired so that if it sees a "obj" directory
in the current working directory, it will try to change into that
directory and execute that target.
So "make release" would try to run inside the "obj" directory,
which basically didn't work at all.  So, I created an "objs" instead.

Simplify the "clean" target.  This target simply removes all generated
objects under "objs".  This makes incremental development easier.

Introduce a "distclean" target.  This blows away all sources checked
out from "make checkout", and it blows away all generated objects under "objs".

The "create_release_distribution.sh" script now puts it's generated objects
under "objs" instead of the top-level $AVATAR_ROOT directory.

This makes incremental development and cleaning easier.