Fixed hanging caused by Issue #2

but_getremotebutton() now times out and returns BUT_NONE if no data is
received for 40 ms.  This prevents the system from halting due to a
stray/non-Sony IR pulse. but_isremotepressed() has been greatly improved
to compensate for the timeout.