serial: don't crash if the device does not exist

The most common reason for pySim to crash is when it is executed without
commandline parameters. Then pySim will expect a serial reader on
/dev/ttyUSB0 since this is the default. Lets check if /dev/ttyUSB0 even
exists before trying to open it.

Change-Id: I7545c728b531e9a796eee8f80f0b08d4097f8399
diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py
index 61195e0..b841b3e 100644
--- a/pySim/transport/serial.py
+++ b/pySim/transport/serial.py
@@ -25,6 +25,7 @@
 
 import serial
 import time
+import os.path
 
 from pySim.exceptions import NoCardError, ProtocolError
 from pySim.transport import LinkBase
@@ -34,6 +35,8 @@
 class SerialSimLink(LinkBase):
 
 	def __init__(self, device='/dev/ttyUSB0', baudrate=9600, rst='-rts', debug=False):
+		if not os.path.exists(device):
+			raise ValueError("device file %s does not exist -- abort" % device)
 		self._sl = serial.Serial(
 				port = device,
 				parity = serial.PARITY_EVEN,