issue #78

added general invalid expression name parsing so that expression names
can only contain A-Z a-z 0-9 _ and % encoded characters, also allowed
explode modifier