<!--
  Please provide a clear and concise description of what the bug is. Include
  screenshots if needed. Please test using the latest version of the relevant
  React packages to make sure your issue has not already been fixed.
-->

React version: DevTools version 4.12.2-d14b6a4bdd

## Steps To Reproduce

1. Use `console.warn` from within a React component where the last argument is typeof `"symbol"`

<!--
  Your bug will get fixed much faster if we can run your code and it doesn't
  have dependencies other than React. Issues without reproduction steps or
  code examples may be immediately closed as not actionable.
-->

Link to code example: https://codesandbox.io/s/pedantic-neumann-711ph?file=/src/App.js

The bug only happens when you make a change, so if you use the code sandbox link you need, open a new window, active dev tools, open the React dev tools and then uncomment line 5: `// return null` only then will the error actually happen.

I've located the culprit to this line of code

https://github.com/facebook/react/blob/0e100ed00fb52cfd107db1d1081ef18fe4b9167f/packages/react-devtools-shared/src/backend/console.js#L146-L147

And would offer the following change

```
const alreadyHasComponentStack = typeof lastArg === "string" && isStringComponentStack(lastArg);
```

<!--
  Please provide a CodeSandbox (https://codesandbox.io/s/new), a link to a
  repository on GitHub, or provide a minimal code example that reproduces the
  problem. You may provide a screenshot of the application if you think it is
  relevant to your bug report. Here are some tips for providing a minimal
  example: https://stackoverflow.com/help/mcve.
-->

## The current behavior

React DevTools is implicitly converting a Symbol to a string.

## The expected behavior

React DevTools does not implicitly try to convert a Symbol to a string.
appendComponentStack: false,
      breakOnWarn: true,
      showInlineWarningsAndErrors: false,
    });
    expect(fakeConsole.error).not.toBe(mockError);
    expect(fakeConsole.warn).not.toBe(mockWarn);
  });
  it('should patch the console when showInlineWarningsAndErrors is enabled', () => {
    unpatchConsole();
    expect(fakeConsole.error).toBe(mockError);
    expect(fakeConsole.warn).toBe(mockWarn);
    patchConsole({
      appendComponentStack: false,
      breakOnWarn: false,
      showInlineWarningsAndErrors: true,
    });
    expect(fakeConsole.error).not.toBe(mockError);
    expect(fakeConsole.warn).not.toBe(mockWarn);
  });
  it('should only patch the console once', () => {
    const {error, warn} = fakeConsole;
    patchConsole({
      appendComponentStack: true,
      breakOnWarn: false,
      showInlineWarningsAndErrors: false,
    });
    expect(fakeConsole.error).toBe(error);
    expect(fakeConsole.warn).toBe(warn);
  });
  it('should un-patch when requested', () => {