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.
Generate random BigUints and BigInts
Fix glitches with struct field aligned indents
test the correct function (oops)
Convert between BigInts and BigUints
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
move and duplicate macro defns in sha2 to make them hygienic

... it would also have been possible to add all of their dependencies,
but that would have increased the already-lengthy list of parameters.
Also, if we had macros that could expand into macro defns, you could
stage it. This seemed like the least painful choice.
disallow ident equality checks when contexts are not equal
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
Forgot to make accept() home for IO
Make I/O tests use run_in_mt_newsched_task to get more multi-threaded test coverage