Added Xml Source as an extension.

In order to be able to pass Xml as a source added an extension for XML source. The source object has to be XElement.
Added System.Xml.Linq, System.Xml references to a formatter.
I see your point here, and agree that it is aproblematic one.
The other side is if we always return a collection we cannot do anymore like this:
```
Smart.Format("Mr. {FirstName} {LastName}", xmlEl);
```
We will be forced to always perform
```
Smart.Format("Mr. {FirstName.1} {LastName.1}", xmlEl);
```
And the latter one will work, but adds some unnecessary complexity when composing formats.

What do you think here and how would you suggest to go further with it?