std::comm: replace Handle.id with a method.

The `id` shouldn't be changed by external code, and exposing it publicly
allows to be accidentally changed.

Also, remove the first element special case in the `select!` macro.
auto merge of #12225 : huonw/rust/handle-id, r=alexcrichton

The `id` shouldn't be changed by external code, and exposing it publicly
allows it to be accidentally changed.

Also, remove the first element special case in the `select!` macro.