Fix label-check for `break` and `continue`. Guard against undefined `expr` in `checkCondAssignment`.

This fixes two unrelated errors exposed by #1105.

Error 1: trying to parse "}" as a label. The parsing went off-track at this point, triggering Error 2.

```js
while (true) {
  if (true) { break }
}
```

Error 2: crash in `checkCondAssignment`.

```js
while () {}
```

----

There are probably other bugs similar to the `while () {}` one, since jshint is meant as a checker for syntactically correct code, not as a parser hardened against invalid js.