Avoid keeping track of two lists of nodes during parsing.

@Shopify/liquid for review

The Block class was storing two node lists, `@nodelist` with all the nodes in the block body and `@children` is the same except that it excludes the literal text.  The `@children` array was only needed to collect warnings, so we can just filter the `@nodelist` in Block#warnings instead to simplify the code `Block#parse` and reduce unnecessary parsing state which we want to cache.