Bug 919872 - Compute the internal properties of Collator, NumberFormat, and DateTimeFormat objects only when they're actually needed -- not when the objects are constructed.  r=till

--HG--
extra : rebase_source : 86493b4ce69b1379bd18c2a0d20fed9c5341072a
Bug 921561 - Make JS_DECLARE_NEW_METHODS use C++11 "perfect" forwarding (which isn't, because it won't let you pass an expression that's a bit field #nowyouknow), to eliminate issues arising when non-const references are used in these methods with classes that don't copy nicely, or shouldn't be copied for perf reasons.  r=luke
Bug 921631 - Restrict the JS_PSG/JS_PSGS flags to not contain JSPROP_READONLY (meaningless for accessors) or JSPROP_SHARED or JSPROP_NATIVE_ACCESSORS (implied by the macros already).  r=jorendorff
Bug 921548 - Remove js_ValueToNonNullObject, which was entirely equivalent to ToObject.  r=jorendorff
Bug 921548 - Remove js_ValueToObjectOrNull -- people should use ToObject or explicit null/undefined tests, for readability.  r=jorendorff