A patch for refine the cmake system. Also rmoved file iterator.cmake and DataTypes.cmake

Because these patches to those files are tied with each other so
tightly, so I have to submit it in only one time

Also, there is no lost of DataTypes.
I delete DataTypes.cmake and DataTypes.in
because I used svn rename operation. Because did this can trace the
history of the file.
Also the DataTypes.h is including in the patch:
maybe can't apply the patch properly, but using tsvn must working fine:)