ocamldoc: Depend directly on guestfs.mli, guestfs.ml files, not wildcards.
generator: Don't always recurse into the generator directory.

Previously, every subdirectory that contained generated files would
cause a recursion into the ../generator directory.  This was slow and
unnecessary.  Only recurse if the generator actually needs to be
rerun.

Note this changes the semantics slightly: For example if you added a
new action and just ran `make -C ocaml' then previously the generator
would be rerun, but now it would not.  However I'm not convinced the
previous semantics were that useful, particularly considering that
with this change a simple `make' is much faster.
build: Simplify and speed up expression that generates po/POTFILES.

This has to run on every build, so:

- Use two grep commands instead of lots.

- Remove unnecessary use of sed.

- Remove some obsolete directories that haven't existed for a long time.
Quote ./configure --help output (options) properly.
build: Don't include subdir-rules.mk in top level Makefile.am.

Also there are no generated files at the top level, so no need to
mention $(generator_built) in this file.
build: Add common-rules.mk, common rules for all Makefiles.

This file is mainly a central place to:

 - include localenv if it exists, and

 - define the RHEL 5 backwards compatibility macros, instead of
   spreading them over every other file.
ocaml: Build dependencies for tests too.