Adds support for T4 'extensions'

Moves collection helper methods into a new T4 extension as a proof of
concept.

Fixes #18