Add lru_cache to libextra
Disable priv in std::comm::Port, etc

It's useful to allow users to get at the internal std::rc::comm::Port,
and other such fields, since they implement important traits like
Select.
don't create intermediate string while creating json (rustdoc)
Add struct and type doc comments for extra::url::*
Add struct and type doc comments for extra::url::*

Updated doc comments further, following suggestions from huonw in PR
#10752.
Add placeholder text to the search bar in the documentation.
Add a type="search" to the search bar in the documentation.
rename MutableVector::mut_split(at) to MutableVector::mut_split_at(at)
Declare librustrt a static dependency of libextra

This wasn't uncovered during testing because the librustrt is available locally
in the build directory (and it needs to be for all the tests to link against it
as well).

Closes #10765
Make the ccache-free case look like the ccache case.

This fixes a problem with `make check` clang -Werror failing due to an
unused -Llib arg.
Add test for #3053. Fixes #3053.
Add section on closure types to manual
Add a macro to check if logging at a given label is enabled

This is useful when the information that is needed to do useful logging
is expensive to produce.
c_vec: Modernize

Generally use more modern constructs (such as using `CVec::new()` as
constructor and move to more method usage).

Potentially controversial changes:
* change `get()` to return a reference instead of cloning
* remove `set()`, add `get_mut()` instead
* add an `unwrap()` method that destroys the CVec without running any
  associated destructor
Disallow duplicate bindings of struct fields

Closes #9725
auto merge of #10736 : Blei/rust/fix_c_vec, r=alexcrichton

Controversial change: make the constructors safe, but instead mark the
setters and getters as unsafe. This follows the tradition that construction
of *T is safe, but the access is unsafe instead.
auto merge of #10759 : SiegeLord/rust/placeholder, r=cmr

This makes the search bar more visible.
auto merge of #10771 : pnkfelix/rust/fix-make-check-for-ccacheless-clang, r=acrichto

 This fixes a problem with `make check` clang -Werror failing due to an unused -Llib arg.
auto merge of #10770 : alexcrichton/rust/static-librustrt, r=alexcrichton

This wasn't uncovered during testing because the librustrt is available locally
in the build directory (and it needs to be for all the tests to link against it
as well).

Closes #10765
rustdoc: Tell rustc we're building a library

This makes sure that when generating documentation we don't waste time doing
things like looking for a main function.