Changes to the table management functions yet again to change the
implementation to a more elegant solution that won't fail when devices
are disabled. The omission of null fields is also no longer required
since the table printing now provides a choice on whether null fields
are shown or not. Null fields are fields that = 0/empty/False.

Change-Id: Ib3576f25d14143c160eb066dd954d6f84f84b358
diff --git a/cli/main.py b/cli/main.py
index c31000c..ec84bf5 100755
--- a/cli/main.py
+++ b/cli/main.py
@@ -176,13 +176,7 @@
             'hardware_version',
             'software_version',
             'firmware_version',
-            'serial_number',
-            'parent_port_no',
-            'vlan',
-            'ports',
-            'reason',
-            'root',
-            'parent_id'
+            'serial_number'
         }
         print_pb_list_as_table('Devices:', devices, omit_fields, self.poutput)
 
@@ -196,13 +190,7 @@
             'desc.sw_desc',
             'desc.dp_desc',
             'desc.serial_number',
-            'desc.serial_num',
-            'switch_features.n_buffers',
-            'switch_features.n_tables',
-            'switch_features.auxiliary_id',
-            'switch_features.datapath_id',
-            'switch_features.capabilities',
-            'ports'
+            'switch_features.capabilities'
         }
         print_pb_list_as_table('Logical devices:', res.items, omit_fields,
                                self.poutput)