Switch tests to unittest (w/generated test cases)

Specifically:
  * add test generator
  * remove all direct printings to stdout (reporting should be done by
    the unittest)
  * close all open files (unfortunately, we cannot use with statement
    with python 2.4 compatibility)
  * iteritems -> items ... to be 3.* compatible (and we really don't
    need generators here)

Signed-off-by: Matěj Cepl <mcepl@redhat.com>