add timeout to runcmd

BMC are unstable and vulnerability, so it is important to add timeout to ipmi call.

1. default 5 seconds timeout
2. raise Rubyipmi::IpmiTimeout after @timeout seconds
3. make the spec all pass