Add version number
Protect from trying to open a device starting with -
Add option parsing
Prevent busy loop on incorrect device open
Implement the debug option

Closes #1
Handle special errnos on ioctl
Use complete name for the CMP shortcuts
Fix SAS Topology Change List output
Use the returned device name