Enums in TVPs in SqlPersistence

@jason-mccandless-zocdoc @chris-smith-zocdoc @ben-sussman-zocdoc @kyle-fritz-zocdoc 

Allow us to put enums into the TVP. 

For example, currently if we have

````
enum A : long {  }
class TVPType 
{ 
    [InputColumn(0)] public A AValue { get; set; }
}
```

PrepareParameters().AddTableParameter(...) followed by CreateList will crash with `unsupported type A`.

This PR resolves enum types into their base types.