Switches to concrete collection types in tests.
Adds immutable collections for use by T4 template
Abstracting concept of collections a bit.
Other collection types now supported.

The test now is updated to use ImmutableSortedSet<T> to demonstrate the
ability.
Adds support for other collection types beyond ImmutableList<T>.

Fixes #12