Incorporate internal EMC Isilon changes

This incorporates all of the internal changes that were done within EMC Isilon to the original vSPC.py into this fork, notably:
* Changing all logging to pass in arguments instead of doing string evaluation
* Revamping how backend argument parsing works
* Some pylint updates
* Other minor updates

During testing of this fork in our internal deployment, we found problems with how epoll was implemented and adjusted them based on perceived best-practices -- they now work for us.

Zach is no longer with EMC Isilon and is highly unlikely to be making changes to the SF repo. I recommend we make the isnotajoke repo the authoritative one (I've updated the README accordingly). I'm sure he'd be happy to update the SF repo to point to this one if I asked.