Make pysane Python3-compatible
Set up Sane error object as exception instead of string

String exceptions don't work anymore.
Handle Sane option strings as Unicode strings

The Sane documentation seems to imply that these option strings contain
Latin-1 text, not byte data, so we decode it and present it to the user
that way.