Enhance wait behavior of set_power

Previously, wait would always be indefinite and act in many ways like
a busy wait.  The check for completion now takes one second between
every check.  The default behavior now goes for 300 seconds, but
wait can now take an int to indicate a different preference by the
caller.  300 seconds may seem like a lot, but the 'softoff' request
in particular suggests waiting for OS shutdown process to complete.

Additionally, some bugs in the retry logic were noted in the process
of having the retry timer drive the delay and are corrected.

Change-Id: Ibe34e87c2a58f13981d60e5f80b4b636e67ac3f9
Change long timeout to select() from poll()

Change from poll() to select() for the potentially long wait in ipmi
event loop.  This is to facilitate interop with being monkey patched
with eventlet, as eventlet does not currently monkey patch poll(), but
does monkey patch select()

Change-Id: I8d6f42193ee82e2c5de7ad112232c2c77ef78825
Rename package from python-ipmi to pyghmi

Some have expressed a concern that ipmi is both too generic a term
and too limiting in scope.  Change python-ipmi to pyghmi to more
easily allow the project to be specifically be referenced and denote
the likelihood of non-ipmi protocols being supported

Change-Id: I9c96f2154050a2970fc217e0eeae733605a38bde
Merge "Change long timeout to select() from poll()"
Merge "Rename package from python-ipmi to pyghmi"