Require space before keywords

Fixes #553 via requireSpaceBeforeKeywords rule.

Also fixed error message for requireSpaceAfterKeywords -- it was always choosing 'Should be one space instead of %d, after "%s" keyword' instead of 'Missing space after "%s" keyword'.

Note, this depends on pull request #554.