Remove redundant variable in LruCache::put
Eliminate unecessary extra sigil node from LruCache.

Instead of allocating both head and tail nodes for the ends of the node
list, a single node can be allocated and linked circularly instead,
making it act as both the head and the tail of the list at the same
time.
green: Fix missing Send bounds on procedures

These were mistakenly not updated as part of the removal of the Send bound by
default on procedures.

cc #13629
Eliminate the need for Options in LruEntry.

LruEntry nodes previously used Option to encapsulate the key and value
fields. This was used merely as a way avoid having values for the sigil
node. Apart from wasting a few bytes for the discriminant, this
cluttered the rest of the code, since these fields always contained
Some on regular nodes as a class invariant.

The Option wrapping was removed, and the values in the sigil field are
initialized using mem::init, so that they don't contain any real data.
Fix misspellings in comments.
Just some general cleanup in the HashMap module

I went through the HashMap module, fixed spelling mistakes, minor
inefficiencies, added tests, and other trivial changes.
auto merge of #13618 : yuriks/rust/lru-cache, r=brson

Just a few space saving optimizations that end up making the code less cluttered too. I'd like to someone to review the last commit closely, I don't have much experience with writing unsafe code, I had someone walk me through how to use cast::forget in IRC.
auto merge of #13630 : alexcrichton/rust/correct-green-bounds, r=brson

These were mistakenly not updated as part of the removal of the Send bound by
default on procedures.

cc #13629
auto merge of #13646 : cgaebel/rust/hashmap-cleanup, r=alexcrichton

I went through the HashMap module, fixed spelling mistakes, minor inefficiencies, added tests, and other trivial changes. Hopefully this won't be a controversial PR.
auto merge of #13653 : jbcrail/rust/fix-comment-mistakes, r=alexcrichton