libcore: LinearMap doesn't need to pass around the bucket vec
core: rename hashmap test functions
core: add LinearMap::find_or_insert{,_with}

This allows for inserting a new value into the map only if it doesn't
already exist in the map.
Add NumCast trait for generic numeric type casts
core: Rewrite last_os_error in Rust for unix and provide access to errno (unix) and GetLastError (windows).
core: Rewrite last_os_error in Rust for windows as well.
rt: remove last_os_error and adjust tests.
Long lines.
rt: remove last_os_error from rustrt.def.in
auto merge of #4880 : erickt/rust/hashmap-cleanup, r=catamorphism
librustc: Speed up moves a lot. r=nmatsakis
auto merge of #4881 : bjz/rust/incoming, r=catamorphism
auto merge of #4896 : pcwalton/rust/move-speedup, r=pcwalton

r? @nikomatsakis 

When you made the change to fix kinds in recursion, you stopped looking in the master cache. This patch fixes it.
Adjust borrow checker algorithm to address #4856 unsoundness,
and then adjust code to match. rs=unsound (will review post-landing)
auto merge of #4914 : nikomatsakis/rust/issue-4856, r=nikomatsakis

and then adjust code to match. rs=unsound (will review post-landing)

rs=unsound
auto merge of #4900 : luqmana/rust/core_os_errors, r=graydon

Rewrote the last pull request (#4859) to not require on llvm for core.

Also fixes #2269.
Merge branch 'incoming' into rimov3

Conflicts:
	src/libcore/os.rs