ezTransfrom => ezTransformTemplate is now a template

I wanted to use `ezTransform` and saw, that it was not a template (like the other math types are) and it had a `EZ_FOUNDATION_DLL` declaration, even though the entire implementation is in header files.

I made `ezTransform` a template and called it `ezTransformTemplate`, trying to follow your existing scheme for the math classes. I also added some typedefs to the `Declarations.h` header, as you can see in the diff. Internally the `ezTransformTemplate` now also uses the template versions of the used types, such as `ezVec3Template` and `ezMat3Template`. I ran the `FoundationTest` suite and there were no failures (except for the string iterator tests, but they're caused by your API changes).

I'm not sure if you guys fixed this already in your internal SVN repo, but in case you haven't, and you think the changes are OK, you can merge them. Or was there a specific reason that this particular class was exported and not a template?