dyngroup: modify join queries for AND, OR, NOT

Using outer join queries instead of join

Use case dyngroup: vendor + software + version

If software have no vendor, and request is:
 * + software + version

Machine will not be displayed.
glpi: Add hidden internal dyngroup vendor+software+version