disallowSpaceBeforeBlockStatements: fix if/else

This rule did not correctly handle the case where there was an `if` with an
`else` or an `else if`. It also did not handle the rarer case where the file
started with a block.

Fixes #832