Update CPDF_IndirectObjectHolder APIs for unique objects.

Doing so highlights a few places where ownership is dubious.
Add convenience functions to return an unowned reference to
a newly-created indirect object.

Review-Url: https://codereview.chromium.org/2419173002
diff --git a/fpdfsdk/fpdfdoc_unittest.cpp b/fpdfsdk/fpdfdoc_unittest.cpp
index fc85404..40457ee 100644
--- a/fpdfsdk/fpdfdoc_unittest.cpp
+++ b/fpdfsdk/fpdfdoc_unittest.cpp
@@ -80,8 +80,8 @@
     std::vector<DictObjInfo> info;
     for (int i = 0; i < num; ++i) {
       // Objects created will be released by the document.
-      CPDF_Dictionary* obj = new CPDF_Dictionary();
-      info.push_back({m_pIndirectObjs->AddIndirectObject(obj), obj});
+      CPDF_Dictionary* obj = m_pIndirectObjs->AddIndirectDictionary();
+      info.push_back({obj->GetObjNum(), obj});
     }
     return info;
   }