Convert xml error to string

##### 1.
If C++11 features are enabled, ````ToErrorName(XMLError)```` returns the name of error types defined in ````enum XMLError````.
For example, running ````$ CXX=g++ CXXFLAGS=-std=c++11 make test```` you can see a new simple test is added.

##### 2.
Makefile is changed in order to use clang++.
When I used original Makefile, it didn't work if I used clang++ as c++ compiler.
I think this style of Makefile is more standard.

I verified these feature using g++-4.8, g++-4.9, clang++ (3.0.6,ubuntu) and clang++ (Apple LLVM ver. 5.1).
I examined by following commands
```` CXX=clang++ make test ````
```` CXX=g++-4.8 -std=gnu++11 make test````
```` CXX=g++-4.8 -std=c++11 make test````
```` CXX=g++-4.9 -std=gnu++11 make test````
```` CXX=g++-4.9 -std=c++11 make test````