some more pre-kind-test optimizations(?):
some more pre-kind-test optimizations(?):

- in case a requested pre-test with child/descendant/decendant-or-self
  is not possible (e.g., because there is no suitable index),
  let's at least push-down the kind-test as pre-test,
  and only do ns-/loc-/nsloc-test as post-filter.

- one more place to avoid post-kind-test,
  in case we already did it as pre-kind-test


Declaration/disclaimer:
-----------------------
On my FC6 desktop (64-bit, 64-bit OIDs, configured with --enable-optimize,
compiled with gcc 4.1.1), this check-in does not make any pathfinder test
fail that did not also fail with the most recent code base in CVS prior to
this check-in.
I did not check in detail, though, whether all previously failing tests
still fail the same way after this check-in as they did before this
check-in.

zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb,zyzyis/monetdb