Adding attributes to enable and disable features.
Implementing base feature exception.
Implementing feature not configured exception.

When all configuration options have been exhausted, this exception will
be thrown.
Adding feature factory class with attribute method.

FeatureFactory will be used internally to create instances of features
from various high level sources.