Add support for ES6 classes

This is not entirely complete yet, but is close. The one known issue is that, since the AST nodes for the `ClassDeclaration` and the constructor `MethodDefinition` are distinct, I don't know how to make jsdoc join the documentation for them together to make it show as you'd expect (that is, params to the `constructor(arg1, arg2)` method should show under the docs for the class itself e.g. `new Foo(arg1, arg2)`). Here is an example of what I'm talking about:

```js
/**
 * A point in a 2-dimensional coordinate system.
 */
class Point {
  /**
   * @param {number} x
   * @param {number} y
   */
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }
}
```

I tried fixing this by implicitly adding the `@constructs Point` tag to the constructor method, but that ended up just making it an alias and overrode the description docs on the `ClassDeclaration` node. I tried to figure out how to simply concatenate the docs or move the tags over from the `constructor` method to the class declaration, but it wasn't really clear how to do this. Any hints?