Change backing storage for stack trace to userInfo

Seems neater to me
But selfishly, it has the benefit that our existing error
logging/reporting code will "see" the stack trace because it grabs the
whole of .userInfo
Avoid overwriting existing stack trace
Store description of stack trace, not actual array
#define NSStackTraceKey for iOS targets
Declare own JSErrorStackTraceKey constant for iOS

Avoids #defining our own NSStackTraceKey
OS X targets still use NSStackTraceKey
Remove out-of-date comment
Remove comment that Javier feels is unnecessary