update `TyDesc` and `TyVisitor`
vec: add `from_elem`, `truncate` and `set_len`
handle zero-size allocations correctly

The `malloc` family of functions may return a null pointer for a
zero-size allocation, which should not be interpreted as an
out-of-memory error.

If the implementation does not return a null pointer, then handling
this will result in memory savings for zero-size types.
follow the new iterator naming conventions
simplify `from_elem` and add `from_fn`
vec: some cleanup
remove obsolete dead code warning workaround
remove unnecessary visibility qualifiers
Added trait implementation for integer types

Used the format used for cmp traits.
rm usage of `link_name` for most LLVM intrinsics

The Rust intrinsics no longer use wrappers for these.
migrate to marker types
heap: remove `aligned_alloc` binding

This is not available as part of the defacto standard Windows C runtime.
It should be exposed as a separate aligned allocator.
hide C memory allocation quirks

The usage of the C standard library for dynamic memory allocation is an
implementation detail and will not always be the underlying allocator.
fix `thread_local` macro
add the cell module
fix weak pointers
Merge git://github.com/thestinger/rust-core