`from_legacy` bugs me a bit because it feels like someday we could remove it, but that's not really the case since most people would probably prefer to pass a float timeout rather than make a Timeout object unless it's necessary for them... hmm. Maybe `from_float`?