Reduce template code duplication

The listen template is essentially just a combination of
frontend/backends in haproxy, and lots of code was duplicated between
the three templates. This commit moves the stanzas into fragments.
Merge pull request #91 from hunner/fragment_templates

Reduce template code duplication
Add custom fragment for haproxy::listen/backend/frontend

The listen/backend/frontend blocks should be flexible enough for various
needs but not overloaded by parameters. The custom_fragment parameter
allows for custom configuration.