Introduced `ToString` overrides for reflection elements,

In order to provide a better debugging experience.

This implements #53.

The following is a summary of the proposed changes.

```csharp
new object [] {
	Assembly.GetExecutingAssembly(),
	typeof(TimeSpan),
	typeof(TimeSpan).GetConstructor(new Type[] { typeof(long) }), // .ctor(long ticks)
	typeof(Assembly).GetEvent("ModuleResolve"),
	typeof(string).GetField("Empty"),
	typeof(Exception).GetMethod("GetObjectData").GetMethodBody().LocalVariables[0],
	typeof(object).GetMethod("Equals", new[] { typeof(object)}).GetParameters()[0],
	typeof(string).GetProperty("Chars"),
}
.Select(o => o.ToReflectionElement())
.Select(e => new { Type = e.GetType(), ToString = e.ToString() })
```

Produces the following output:

<div><div class="spacer"><table id="t1"><tr><th>Type</th><th>ToString</th></tr><tr><td>AssemblyElement</td><td>[[query_idbiin, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]] (assembly)</td></tr><tr><td>TypeElement</td><td>[[System.TimeSpan]] (type)</td></tr><tr><td>ConstructorInfoElement</td><td>[[Void .ctor(Int64)]] (constructor)</td></tr><tr><td>EventInfoElement</td><td>[[System.Reflection.ModuleResolveEventHandler ModuleResolve]] (event)</td></tr><tr><td>FieldInfoElement</td><td>[[System.String Empty]] (field)</td></tr><tr><td>LocalVariableInfoElement</td><td>[[System.String (0)]] (local)</td></tr><tr><td>ParameterInfoElement</td><td>[[System.Object obj]] (parameter)</td></tr><tr><td>PropertyInfoElement</td><td>[[Char Chars [Int32]]] (property)</td></tr><tr><td>TypeElement</td><td>[[System.String]] (type)</td></tr></table></div></div>