Added FeatureTable to make it easier to test whether a feature is supported. This also competely isolates code that needs to know if a feature is supported from knowing how to detect if a feature is supported.
Moved feature detection logic out of FeatureTableCreator and into a family of FeatureDetector classes (two for now, one for version dependent features and another for features that depend on a server parameter being set).
Added FeatureDetector and implemented it in terms of IFeatureDependency implementations: ServerParameterDependency, ServerVersionDependency and WireVersionDependency.
Removed Feature class and replaced FeatureTable with FeatureSet.
Made FeatureSet an internal class. Removed checking of WireVersion for now since server team hasn't yet defined what the values mean.