Merge to XFA: Change nonstd::unique_ptr to take a custom deleter.

Code is mostly stolen from Chromium's scoped_ptr.

- Add unit tests.
- Use this to fix a leak.

BUG=chromium:531408
TBR=tsepez@chromium.org

Review URL: https://codereview.chromium.org/1351383004 .

(cherry picked from commit cef2a9c51bee4b987fc813013d45dad6535a9a46)

Review URL: https://codereview.chromium.org/1358163003 .
6 files changed