virt: Adds possibility to exclude filter from config.

It should be used only for manipulation with parser from
python code. It could bring some problem with understanding
of Cartesian config.

syntax:
  only linux
  exclude only linux    # exclude linux filter

  no linux
  exclude no linux    # exclude linux filter

  only host_s>linux
  exclude only linux    # doesn't work because filter only linux
                        # doesn't match with only host_s>linux

  only host_s>linux
  exclude only host_s>linux    # exclude host_s>linux filter

  only linux..virtio
  exclude only linux           # doesn't work
  exclude only linux..virtio   # works

In other words there is not possibility to exclude only part of filter.
Only whole filter could be excluded!

******* example:
variants host_os:
  - linux:
       image = linux

  - windows:
       image = windows

only host_os>linux

******** output:
dict    1:  host_os>linux
    dep = []
    host_os = linux
    image = linux
    name = host_os>linux
    shortname = host_os>linux

******** with exclude:
variants host_os:
  - linux:
       image = linux
  - windows:
       image = windows

only host_os>linux
exclude only host_os>linux

*********output:
dict    1:  host_os>linux
    dep = []
    host_os = linux
    image = linux
    name = host_os>linux
    shortname = host_os>linux
dict    2:  host_os>windows
    dep = []
    host_os = windows
    image = windows
    name = host_os>windows
    shortname = host_os>windows

Signed-off-by: Jiří Župka <jzupka@redhat.com>
virt: Update Cartesian config unittest exclude filter.

Signed-off-by: Jiří Župka <jzupka@redhat.com>
virt: Cartesian config unittest repairs wrong indentation exclude filter.

Signed-off-by: Jiří Župka <jzupka@redhat.com>