Redirect messages written to the standard "log" package to the INFO log,
in particular to capture messages from the "net/http" package.

This change only affects programs that import "github.com/golang/glog".

Messages written to the standard "log" package will always appear on standard error,
as they do now, though they will be formatted like INFO log messages. These messages
will also appear in the INFO log file unless --logtostderr is set.
Fix non-atomic set of logging.filterLength.

One of its accesses was not atomic; tsan caught it.
Fix log format to space pad PID instead of zero pad.

This now matches C++ and the code comments.
log: add *Depth function for log wrapping.

This makes it possible for other packages to wrap the log package.
Pad thread ID in log header to 7 spaces, to match C++ format.

Add check in TestHeader to detect padding mismatch.
log: Add Exit, Exitf etc.

These are equivalent to Fatal etc. except that they do not dump stacks.
Addresses a common complaint.
updated from upstreams master