Enhance timers to create ports

In addition to being able to sleep the current task, timers should be able to
create ports which get notified after a period of time.

Closes #10014
auto merge of #10083 : alexcrichton/rust/timer-port, r=pcwalton

In addition to being able to sleep the current task, timers should be able to
create ports which get notified after a period of time.

Closes #10014