Parse expressions in Liquid::Variable#parse.
Use pop over shift to avoid reverse
Merge pull request #459 from Shopify/pop_vs_shift

Use pop over shift to avoid reverse
flat_map
Merge pull request #462 from Shopify/flat_map

nodelist flat_map over map.flatten
Merge pull request #443 from Shopify/completely-parse-variables

Parse expressions in Liquid::Variable#parse.
Separate ? and - into special tokens
Don't allow - to end a variable name
Merge pull request #463 from Shopify/stricter-identifiers

Separate ? and - into special tokens
Avoid parallel assignments
Merge pull request #465 from Shopify/avoid_multi_assigns

Avoid parallel assignments
Create a BlockBody class to decouple block body parsing from tags.
Avoid storing options instance variable in BlockBody.

There is no need to pass parse options to the BlockBody initializer, since
it does all the parsing in the parse method, unlike tags which parse the
tag markup in the initializer.
Remove unused local variable that was accidentally added.