Prototype on cached type chain
Prototype on cached type chain

While investigating #2343, it was realized that when we set prototype, the
type chain that we cache doesn't have same prototype. All the predecessors
in the cached type chain before existing type of object still has oldPrototype
and only the existing type has new prototype.

Fix: Start with a type that has `newPrototype` object set because of which entire
chain will have `newPrototype` object.

Microsoft/ChakraCore,Microsoft/ChakraCore,mrkmarron/ChakraCore,mrkmarron/ChakraCore,mrkmarron/ChakraCore,Microsoft/ChakraCore,mrkmarron/ChakraCore,Microsoft/ChakraCore,mrkmarron/ChakraCore,Microsoft/ChakraCore,Microsoft/ChakraCore,mrkmarron/ChakraCore,mrkmarron/ChakraCore