Add virtual console

(via #971)

#### Adds:

- `jsdom.getVirtualConsole`, for fetching an internal console emitter
- `virtualConsole.sendTo`, for forwarding internal output to any console

#### Design decisions:

1. `sendTo` requires its argument to only have at least one valid console method. I did this so that you could pick and choose which methods you wanted to proxy. Let me know if you think it should be fully compliant.
1. Kept the `window.raise` calls in the original console handlers (it looks like `'error'` is [the only method that has a side effect](https://github.com/jeffcarp/jsdom/blob/virtual-console/lib/jsdom/level1/core.js#L969)  in `raise`).

#### Questions:

1. The way I accomplished keeping console events separate between windows doesn't feel super elegant. If anything comes to mind in this area I'd love to hear how to improve it.
1. This PR doesn't replicate any console functionality (like `console.count` having internal state). Is that a needed feature?