Use PrettyTable's print_empty flag.

Previously an if statement was added to prevent empty tables from being
printed. This introduced a bug as len() was called on objs which in some
cases is a generator.

This patch sets prettytable's print_empty flag to false which causes
prettytable to return an empty string if it is rendered when empty.
The table string is then checked for emptyness before printing to ensure
a blank line is not output.

Adds tests for utils.print_list with list, empty list and generator input.

Fixes: bug #1180059

Change-Id: I4c0bd08bf0c943de42ad90d255a2d831c2e98828