Move loop variable definition into loop headers
Merge pull request #205 from Dmitry-Me/moveDefinitionsToLoopHeaders

Move loop variable definition into loop headers
Using C++11, XMLUtil::ToErrorName(XMLError) returns the name of error type
make works correctly when using clang++
ErrorNames is not implemented by vector<string> but *char[]
Makefile is recovered to original version
Without using preprocessor
clean up the scope and names of the error code.
add an error message
setting the version to 2.2.0
Remove unneeded cast, reduce duplication, move declarations to their first use.
Merge pull request #210 from Dmitry-Me/removeUnneededCast

Remove unneeded cast, reduce duplication, move declarations to their fir...
Reuse const version for non-const one
Function signature is most likely wrong
Eliminate repeated virtual calls
Merge pull request #212 from Dmitry-Me/reuseConstForNonConst

Reuse const version for non-const one
Merge pull request #213 from Dmitry-Me/likelyWrongSignature

Function signature is most likely wrong
Merge pull request #214 from Dmitry-Me/duplicateVirtualCalls

Eliminate repeated virtual calls