Deal with complex javascript types
Cleaned up code and added constants.
Added the ability to have JSF reserved words as well as regular reserved words.