Add test to illustrate the problem

See #2526
Change line commenting to ignore blanks if any non-blanks

Fixes #2526

This slightly alters the heuristic for deciding whether to uncomment
or to comment blocks of code. Previously, it would key off the first
line of code and only if that was commented would it check the other
lines. Now it checks all lines of code and uncomments the block if all
non-blank lines are commented out.
Use imperative style and standard JS regex

Based on pull request feedback
Merge pull request #2571 from lee-dohm/bug-2526

Change line commenting to uncomment if all non-blank lines are commented out