Bug 992958 - Fix test that depends on the order in which properties are enumerated. r=luke
Bug 992958 - Stop going through the __proto__ getter in getPrototypeOf. r=luke

The need for this is long-gone, I believe.
Bug 992958 - Streamline __proto__ getter and setter definitions into a JSPropertySpec. r=luke

We don't need the nativeCall bits anymore.
Bug 992958 - Add support for prototype JSPropertySpecs on ClassSpec. r=luke
Bug 992958 - Rejigger the ordering of resolveConstructor to make it work for Object/Function. r=luke
Bug 992958 - Invoke set{Constructor,Prototype} as soon as possible, and remove setDetails helpers. r=luke

When we decouple function and object, we'll need to rely on these slots being
set up as soon as the relevant objects are created.
Bug 992958 - Hoist Object/Function prototype/constructor creation into ClassObjectCreationOps. r=luke

We try to keep the diff small for now, and reformat in the next patch.
Bug 992958 - Hoist extra logic in initFunctionAndObjectClasses into FinishClassInitOps. r=luke
Bug 992958 - Reindenting and trivial cleanup. r=luke
Bug 992958 - Switch Function and Object to ClassSpec. r=luke
Bug 992958 - Move ClassObjectCreationOps and FinishClassInitOps closer to their respective JSClasses. r=luke

This is a pure move, aside from adding a js:: namespace to a few NullPtrs.
Bug 992958 - More stylistics fixups. r=me