raise better ImportErrors

mainly raise the original ImportError when the preferred backend fails,
rather than the fallback, which isn't typically informative.
add zmq.utils.sixcerpt

excerpts of six.py. Currently, only `reraise`
use sixcerpt.reraise

for Python 2/3 compatibility
Merge pull request #543 from minrk/better-error-on-failed-import

raise better ImportErrors