Fix issues with private properties and apc

Summary: APCObject was storing non-unique Class*'s with private
properties, which meant that if the file containing the class was
changed in any way, there would be a new Class*, and we wouldn't
be able to fetch the object from apc.

Reviewed By: @alexmalyshev, @jdelong

Differential Revision: D1688805