dont use boost::iequals because it uses std::toupper which is amazingly wtf slow. replaced with ascii_iequals
improve ascii_iequals to not allocate memory
better test
Merge branch 'master' into task_evolution