Add parse support for lists.

Refactored the parsing of tuples and variants to a single
templated enclosure parser.
Add elaboration for lists.
Add simple test for lists.