Fix: Treat node.range as immutable in max-len (fixes #1224)

AST nodes should not be modified by rules. Instead pass a new range to `getSource()`. Open question: what's the best way to test this? Such a test would not be rule-specific.
Can this use `getSourceLines()` instead?