No \n in post properties, added __str__()

Post properties are now read using f.read().splitlines(), and so there's
no more \ns in post properties. Also added __str__() for printing/debug
purposes.
Added post generation, template placeholders lowercase

gen_post(Post) will create the associated HTML file for the given Post.
Placeholders in templates are now lowercase, because uppercase
placeholders seemed ugly and angry.