Implement timeout for discovery

Unfortunately, we can't really notify that we timed out, because
we can't set Ironic internal fields like 'last_error'. So we rely
on Ironic to do it's own timeout.

Change-Id: I5901f8e80b59d53975b6b265fba61e965884bb31
Closes-Bug: #1391871