pySim-shell: print device info in case an exception occurs

When an exception occurs while initializing or handling the card we
print a traceback, but we do not print any info that allows us to
identify the device that was involved when the exception occurred. Let's
include the device path or number in the error message before we print
the traceback.

In order to make it easier to print the device information, let's add a
__str__() method to all of our devices. This method shall return the
device number or path.

Related: OS#6210
Change-Id: I200463e692245da40ea6d5b609bfc0ca02d15bdb
diff --git a/pySim-trace.py b/pySim-trace.py
index 325fb8c..eb29ed1 100755
--- a/pySim-trace.py
+++ b/pySim-trace.py
@@ -48,6 +48,9 @@
         self._debug = debug
         self._atr = h2i('3B9F96801F878031E073FE211B674A4C753034054BA9')
 
+    def __str__(self):
+        return "dummy"
+
     def _send_apdu_raw(self, pdu):
         #print("DummySimLink-apdu: %s" % pdu)
         return [], '9000'