libextra: Another round of de-`Cell`-ing.

34 uses of `Cell` remain.
librustuv: RAII-ify `Local::borrow`, and remove some 12 Cells.
libstd: Remove some cells involved in
`deschedule_running_task_and_then`.
librustpkg: Make `io::ignore_io_error()` use RAII; remove a few more
cells.
libstd: Remove `Cell`s that were used because of `finally` by converting
their `finally` blocks to RAII.
compiletest: Remove uses of `Cell`.
librustdoc: Don't use `finally`, shaving off a `Cell`.
librustdoc: Remove a couple of `Cell`s.
libextra: Remove various cells involved in `Arc`s.

I could have done this by making `Arc` use RAII, but this is too
involved for now.
librustuv: Change `with_local_io` to use RAII.
libstd: Change `atomically` to use RAII.
libstd: Remove two uses of `Cell`.
libstd: Remove `Cell` from the library.
auto merge of #10791 : pcwalton/rust/decelling, r=pcwalton

34 uses of `Cell` remain.

r? @alexcrichton