Unit Tests, Fragment Inheritance, ResolveUrlProvider

Here are some proposed updates to MOD.Web.Element:

* Added a unit testing project 80+ tests
* Updated the inheritance for `Fragment` to be `Fragment : Node, IList<Node>, IRenderable`.  This allows an `IRenderable` to return either an `Element` or a `Fragment` which is probably most important for an `HtmlDocument` so that it can return both the `<!DOCTYPE html>` and `<html>`
* Added a `ResolveUrlProvider` to Element so that developers can customize the way urls are resolved. This also enables that functionality to be unit tested.
* Enabled XML comments for the library and added appropriate XML comments to remove any compiler warnings
Any reason for this not to be `public Dictionary<string, string> Attributes = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);`? It would allow you to remove the getter, `attributes`, and `InitAttributes()`.