Warn about locally identifiable init order issues.

This warns about a subset of initialization order issues which
can easily be identified by inspection, such as

  val x = y
  val y = 5

The likelihood of this formulation being intentional is miniscule.
Merge pull request #2240 from paulp/pr/warn-forward-reference

Warn about locally identifiable init order issues.