Made lists not collection based.

Bottleneck is now object creation/destruction and value provider. The
macro logic acounts for ~9% of the runtime, object management ~53%, and
ValueProvider takes up the rest.