tests: Add variable expansion tests

There are some corner cases in variable expansion which would be nice to
capture before going and rewriting the variable expansion code.
EVIS: Reimplement using custom parsing code

Much less of a bottle-neck now. Still some edge cases missing though.
ExpandListArguments: Optimize the parser

Insert into a string incrementally instead of using a vector of
characters.
cmCommandArgument*: Remove!

Gone! Today is a happy day :) .
cmGeneratorExpressionLexer: Use a switch statement to parse

Also kill double-assignments to 'upto'. Just use 'c' then put 'upto'
where it belongs after.
cmGeneratorExpression: Improve parsing in StripEmptyListElements

The char-by-char parsing causes lots of reallocations which shouldn't be
necessary. To improve this, fast-path strings without a semicolon,
reserve space in the result, and insert into the result in chunks.
relnotes: Add release notes for the branch
Sublime: Pass language and config properly
Merge topic 'dev/fix-sublime-compile-flags' into next

2d9f93ab Sublime: Pass language and config properly
Merge topic 'dev/custom-parsers' into next

70d3e452 relnotes: Add release notes for the branch
543118a2 cmGeneratorExpression: Improve parsing in StripEmptyListElements
d17fdafe cmGeneratorExpressionLexer: Use a switch statement to parse
4a32887f cmCommandArgument*: Remove!
5a4522d0 ExpandListArguments: Optimize the parser
95f2d59b EVIS: Reimplement using custom parsing code
c422d7fb tests: Add variable expansion tests