Fix #3961 : use char range methods instead of byte offsets to detect whitespace.
checkpoint block-comment-wchar state.
make pp file conform to actual output, noting some oddities along the way.
fixed code to placate new restrictions on form of function/method invocations.
std: add a fixme to note performance issues in vec::from_elem.
Implement a deriving(Zero) attribute
Add Zero impls for lots of common types
Cleaned up driver.rs
std::dynamic_lib: start fixing windows implementation

The code compiles and runs under windows now, but I couldn't look up any
symbol from the current executable (dlopen(NULL)), and calling looked
up external function handles doesn't seem to work correctly under windows.
trans::glue: don't allocate a pointer variable if it already exists

Removes one alloca and store from the drop glue of @ boxes. This speeds
up the rustc build by 1s (might be noise, though).
Add IterBytes impls for float/f32/f64. This allows creating
HashMaps with floats as keys.
trans::glue: don't generate struct destructors in the free glue

The free glue shouldn't be called for structs, and the drop glue already
contains the destructor.
Fix up mingw32 case
Move trans mod items into trans/mod.rs
Move CrateContext into it's own file
Make CrateContext::new() fn.

Move construction of a CrateContext into a static method on
CrateContext.
Fix terminfo::param %i op
Remove @-fields from CrateContext

Remove all the explicit @mut-fields from CrateContext, though many
fields are still @-ptrs.
This required changing every single function call that explicitly
took a @CrateContext, so I took advantage and changed as many as I
could get away with to &-ptrs or &mut ptrs.
Fix Merge Fallout
iterator: add a `find` adaptor