std: Close TcpListener with closesocket()

This may have inadvertently switched during the runtime overhaul, so this
switches TcpListener back to using sockets instead of file descriptors. This
also renames a bunch of variables called `fd` to `socket` to clearly show that
it's not a file descriptor.

Closes #19333
impl Clone for Cow
small doc fixes

We don't need this &mut, and vec could use []s
RFC 248? I think you meant RFC 438.

There ain’t an RFC 248, while 438 looks to be what is being referred to:
https://github.com/rust-lang/rfcs/blob/master/text/0438-precedence-of-plus.md
fix expand_quote_ty function as parse_ty was changed and needs no arguments now
Fix typo in reference.md
Allow trailing commas in array patterns and attributes
Simplify `RefCell` code a bit, make `deref` a no-op.
rustdoc: Check for href when prepending rootPath

Fixes #18354.
Link regions in `ref` bindings from fn arguments.
better wording
replace 'but' with 'and'
Improve documentation of checked_* functions
Update comment to current file path for intrinsics
lldb: Fix pretty printer for nullable-opt enums with fat pointers.
gdb: Fix pretty printer for nullable-opt enums with fat pointers.
Utilize fewer reexports

In regards to:

https://github.com/rust-lang/rust/issues/19253#issuecomment-64836729

This commit:

* Changes the #deriving code so that it generates code that utilizes fewer
  reexports (in particur Option::* and Result::*), which is necessary to
  remove those reexports in the future
* Changes other areas of the codebase so that fewer reexports are utilized
Fixed out of date comment on `copy_memory`
libtest: get rid of dependency to ToJson

deriving encodable + using json::PrettyEncoder removes the only ToJson trait implementation in the rust repository outside of libserialize
Remove outdated comment.

https://github.com/rust-lang/rust/pull/19472#issuecomment-65370278