Add a from_str function that calls out to the associated method on the trait
Add from_str docs
Remove the __log function for __log_level

Also redefine all of the standard logging macros to use more rust code instead
of custom LLVM translation code. This makes them a bit easier to understand, but
also more flexibile for future types of logging.

Additionally, this commit removes the LogType language item in preparation for
changing how logging is performed.
Fix glitches with struct field aligned indents
Indent correctly after opening square bracket
Allow indenting to align struct fields after curly brace
Indent return type to align with arguments
Add custom group for rust-mode
Add paragraph fill and auto-fill for multi-line comments
Add ERT tests
Add fractional second support to str{p,f}time

The ISO 8601 standard does not mandate any specific precision for
fractional seconds, so this accepts input of any length, ignoring the
part after the nanoseconds place. It may be more correct to round with
the tenths of nanoseconds digit, but then we'd have to deal with
carrying the round through the entire Tm struct (e.g. for a time like
Dec 31 11:59.999999999999).

%f is the format specifier that Python's datetime library uses for
0-padded microseconds so it seemed appropriate here.

cc #2350
Be sure to reconfigure LLVM even when relocated
Fix Acceptor iterator ending early if a connection attempt fails
fix for issue #7588, overflow now handled correctly
Upgrade libuv to the current master (again)

This is a reopening of the libuv-upgrade part of #8645. Hopefully this won't
cause random segfaults all over the place. The windows regression in testing
should also be fixed (it shouldn't build the whole compiler twice).

A notable difference from before is that gyp is now a git submodule instead of
always git-cloned at make time. This allows bundling for releases more easily.

Closes #8850
auto merge of #8994 : alexcrichton/rust/upgrade-libuv, r=brson

This is a reopening of the libuv-upgrade part of #8645. Hopefully this won't
cause random segfaults all over the place. The windows regression in testing
should also be fixed (it shouldn't build the whole compiler twice).

A notable difference from before is that gyp is now a git submodule instead of
always git-cloned at make time. This allows bundling for releases more easily.

Closes #8850
auto merge of #9019 : alexcrichton/rust/reconfigure-llvm, r=brson

@Chris-Morgan ran into this, turns out if we have a clean llvm in the old location we won't rebuild/reconfigure even though we should.
use enumerate in place of 'for ti in range(i, tokens.len()) ... match tokens[ti] ...'
auto merge of #9030 : tikue/rust/glob, r=huonw
auto merge of #9010 : aaronlaursen/rust/master, r=alexcrichton

Here's a fix for issue #7588, "Overflow handling of from_str methods is broken". 

The integer overflow issues are taken care of by checking to see if the multiply-by-radix-and-add-next-digit process is reversible. If it overflowed, then some information is lost and the process is irreversible, in which case, None is returned. 

Floats now consistently return Some(Inf) of Some(-Inf) on overflow thanks to a call to NumStrConv::inf() and NumStrConv::neg_inf() respectively when the overflow is detected (which yields a value of None in the case of ints and uints anyway). 

This is my first contribution to Rust, and my first time using the language in general, so any and all feedback is appreciated.