Improvements to progressiveEnhancement, new features, and unit tests

Removes need for target, sectionId, insertionType
Renames sectionId to id, insertionType to type
Adds working support for insertion types
Implements unit tests for all features
Adds the ability to pass a function to getTemplate, for unit testing ease

Change-Id: I9cbd8a3ccc63918a31f888b48f2bb8ce9bb92053