Address duplicate template use problem.

Without this change, if a template file is specified twice then there is a
possibility that it won't be found the second time because erb_file deletes the
given template file when done with it.

This change implements a usage count on each template file to ensure that only
the file only gets removed on the last use.

Signed-off-by: Wayne <wayne@puppetlabs.com>
How does `usage_count_map[template_file]` ever exceed 1?