Conditional run attributes

Added two attributes that allow tests to be ignored on particular operating systems or runtime frameworks. We need this for the downlevel CI runs.

There is a little bit of code duplication because of how xunit implemented `Theory` and `Fact`...

Example usage:

```
[ConditionalFact(
    ExcludedFrameworks = RuntimeFrameworks.Mono, 
    ExcludedOperatingSystems = OperatingSystems.Windows7And2008R2)]
public void MyTest()
{
    ...
```

@bricelam @Tratcher 
Yes, I am aware of the 6.2/6.3 behavior of the GetVersion API. As you say, currently there is no issue because we only care about Win7. That will become a problem in the future if we need to distinguish between win 8 and 8.1. Hopefully, the CLR team will provide the right API by then.

I will add a comment in the code in case someone tries to add 8.1 support to exclusions.