Don't COW dynamic properties array when reading dynamic property.
Summary:
While working on propImpl, I noticed that it uses getProp on a non-const ObjectData, which will unconditionally pass the COW flag to getPropImpl. This is the wrong behavior when we're reading (MOpMode::None and MOpMode::Warn). Add a unit test that demonstrates the problem, and fix it by calling getPropImpl directly and passing the correct value for the COW bit.
FWIW, our behavior did not agree with either PHP5 or PHP7. We will now agree with PHP7. Write: https://3v4l.org/mKWaX read: https://3v4l.org/0kDPh control (no operation on object): https://3v4l.org/EBGQf
Reviewed By: markw65
Differential Revision:
D5758132
fbshipit-source-id:
7dd68142ca44283c1edd841ef61b70025af6faf4