Parse an initializer.
We read the next token. If the token may start an assignment expression, we parse an assignment expression: it must be a single initializer. If the token is an open curly brace, we must have an aggregate initializer. There is no overlap between these two cases.