Merge develop branch with new Temple API

Changes: 
 - Renamed Temple and TempleFile to `compile_temple` and `compile_temple_file`
 - Got rid of TempleLayout and TempleLayoutFile; they're covered by CompileTemplate#layout now
 - Templates are now represented as structs with methods on them rather than a function that must be `alias`'d
 - Because of this, Temple templates can now be passed around as first-class objects
 - Template layout/child structures can be arbitrarily complex (a layout within a layout within a layout, etc).
 - Introduced passing any arbitrary sink object/function to CompiledTemplate#render
 - Compile Time Compile Time templates are going away for now, until DMD can interpret delegate members.
 - Cleaned up the documentation (although it still needs a lot of work)