macro based annotation support for code generation tool; clean up code generation template; reduce repeated template code in generation templates;

git-svn-id: svn://irodssvn.ucsd.edu/trunk@5480 ea137bd6-aa86-47b6-b90d-b101d9f19a90