Don't auto-escape any function output

Discussed here: https://groups.google.com/forum/#!topic/swig-templates/tJG7dgxPOq8

Basically, the general consensus is that if you're sending a function to the template engine to be run and provide output, that your application will properly escape the output and Swig does not need to do so on its own. This will also fix a myriad of issues with macros, forcing them to never auto-escape.

Fixes gh-306
Fixes gh-302
Fixes gh-297