fix XElement copy, added unit tests & vsproject

Hi there,

Thanks for your deep clone utility class! Turns out XElement is not that easily fooled, you have to use their own copy constructor, I fixed that. Also added some unit tests and created a VStudio project for it.

If you'd like, you can join this commit onto your master branch. 

Thanks again,
-- Wouter.