Added a Fields<T> class

Added a `Fields<T>` class, to support #3, enabling this syntax:

```c#
[Fact]
public void SelectFieldUsingInstanceSyntax()
{
    FieldInfo fi = new Fields<ClassWithFields>().Select(v => v.Text);
    Assert.Equal("Text", fi.Name);
}

[Fact]
public void SelectFieldUsingLinqSyntax()
{
    FieldInfo fi = from v in new Fields<ClassWithFields>()
                   select v.Text;
    Assert.Equal("Text", fi.Name);
}
```