Handling non-Object, non-Error arguments to $A.error, such as strings.  This
allows user code (e.g. *Controller.js) to follow "normal" JavaScript convention
of throwing random things (such as strings for error text) and not make Aura
catch such, test for Error-ness, and wrap if needed.

Strings are further special cased to appear in the display message.

@bug W-1974840@
@rev goliver@
Merging origin/fabbott/master-pending-errormsg into master