Fix SIGSEGV in pragma parsing with trailing whitespace

The pragma parsing algorithm caused Segmentation fault,
when the pragma handler tried to read the passed
token_iterators when only whitespace token(s) should've
appeared in the range. The reason is, that the algorithm
skipped over the whitespace token onto the EOI, EOF tokens.

Example test input:
"#msh environment add "