Make sure device exists before opening

Without this check, the SPI interface would create the file if it did
not already exist (assuming correct permissions) but the ensuing ioctl
operations would fail.
Add docstring for bits_per_word arg in transfer