Some Changes

basically I felt :
1) IFeatureAttribute should be generic to avoid too many type casts
2) IFeatureDataProvider should not have a separate IFeatureAttribute list as the attribute and features are supposed to be same entity
3) IFeatureAttributeDictionary does not need knowledge of the IFeatureDataProvider