Move some things out of the templates for simplicity, start adding type helpers
Finish initial helpers, fix header template
Add testing, setup b2 for building the tests
Oops, remove doubled gitignore line