XmlDeserializer shoud be parent class of XmlAttributeDeserializer

I think the only way how to manage code in this classes in inheritance. XmlDeserializer had some new features, but XmlAttributeDeserializer not. I think they shoud be same, but XmlAttributeDeserializer with using DeserializeAsAttribute. 

I splited tests XmlTest.cs into XmlDeserializerTest.cs and XmlAttributeDeserializerTest.cs for sure. 

My motivation was this commit https://github.com/restsharp/RestSharp/commit/c68de9d85673265693c7871d814a4a837c407f19#diff-b4b64956e6de3b7255635b2b3f02bd76 which broke deserization in my project. And I found only 2 tests for XmlAttributeDeserializer!