function formatError(e) {
		var s = typeof e === 'object' && e !== null && e.stack ? e.stack : formatObject(e);
		return e instanceof Error ? s : s + ' (WARNING: non-Error used)';
	}
Format an error into a string.  If e is an Error and has a stack property,
it's returned.  Otherwise, e is formatted using formatObject, with a
warning added about e not being a proper Error.
@param {*} e
@returns {String} formatted string, suitable for output to developers