fix trailing whitepace
test: fix benchmark unsafe blocks, r=burningtree.
add ABIInfo trait and separate x86-64 ABI implementation from foreign trans

ABIInfo provides a method to translate the type of foreign function.
The foreign trans uses the method to get ABI-specific type and
uses the result to generate LLVM instructions for wrapper and shim functions.
libcore: Add range_step and range_rev functions.

Closes #1817
libcore: Correct behaviour of range_step for uint, tests for range* functions.

Splits the range_step function into the two directions (up, low -> high,
and down, high -> low) for the uint types, since there is no way to have
`step < 0` for a backwards range.
Add a T_SIGNED type to uint template and eliminate step_down variant

Handle negative steps properly in range_step, fix order of arguments
in tests, and such.
Revert back to the correct libuv revision
rename send_map to hashmap

This makes the module much more discoverable, and is in line with the
'treemap' naming.
get rid of the std::map::Map LinearMap impl

This legacy trait needs to be dropped in order to migrate to
core::container::Map, which doesn't require @ and Copy, and will make
proper use of borrowed pointers.
rename hashmap find/get -> find_copy/get_copy
rename hashmap find_ref/get_ref -> find/get
add find method to the core::container::Map trait
remove the LinearMap get_copy method

This isn't simpler (or faster) than just doing the copy in the caller,
and it doesn't work for types that can be cloned but not copied.
remove cautionary wording in the hashmap docstring

it's pretty solid, at least relative to most of the other modules
rm unnecessary usage of 'unsafe' from hashmap
improve hashmap/treemap documentation
switch LinearMap to current constructor convention
fix core-map.rs benchmark
fix tests
Revert "Merge pull request #4590 from crabtw/abi"

This reverts commit e4e5d986fa424c00389bd2520ebce7276f58a6e0, reversing
changes made to ab8d77474c474a672873b3edc467323fcf992279.