Templated read

    Allows for templating scripts that get read into UserData etc
    
    In addition, PROTOCOLS internet protocol mapping name to number
    added for convenience.
    
    The Templating allows jinja2 templates to be used to build scripts.
    In addition, if a context value is assigned by ref(...), the reference
    is preserved as the template output is split on CloudFormation
    functions and the returned value is a Fn::Join string.

Included:

  * Code updateds
  * Tests
  * Documentation