Changes to allow target and text in {@link target text} to be separated ...

...by newlines and for text to contain newlines.

At the moment jsdoc does not interpret the following as a link:

```javascript
/**
  * {@link some_long_target 
  *  text_to_display}
  */
```

because of the presence of a newline between the target and the text but code formatters that format comments will typically want to break between the target and text at the first opportunity. For instance javascript-mode and js2-mode in Emacs both do this. The patch allows for the presence of such newlines. For the record: the presence of a newline between `@link` and the target was already accepted.

The patch also normalizes sequences of newlines to a single space because I find ugly the presence inside `<a>` of newlines caused by an artifact of source formatting. I realize opinions could vary on this from "keep them" to "all spaces should be normalized".

I've added new tests to test it, and It does not break old tests. But I do not know the jsdoc ecosystem well enough to know whether I'm breaking some expectations from users or some use case I'm not thinking of.