Update base/memory/scoped_ptr.h and add base/template_util.h.
Add base/scoped_generic.h and rework base/files/scoped_file.h on top of
it. Update base/posix/eintr_wrapper.h.
Update ScopedMachPort to ScopedMachSendRight, and add
ScopedMachReceiveRight. Implement both in terms of ScopedGeneric. This
matches Chromium's https://codereview.chromium.org/294393007/ .
Add a missing #include to foundation_util.h, and make
sys_string_conversions.h work in non-Objective C translation units.