Added enable function to schemas. This allows filtering of schemas
which is a required part of feature flagging in rancher. Added
addFeature functions to controller template for adding handlers that
can be disabled if their associated feature is disabled.
Problem: Cluster scoped gc was taking significantly longer to complete
than before 7387aa5. This was due to a large number of list calls and
the time needed to iterate over them.
Solution: Instead of requesting every type than Rancher uses, a
seperate map appended to when a cluster scoped handler
is created. The full map of all GroupVersionResources is kept as a
fallback for the use case where user controllers may exist on another
host other than the current leader.
Problem: Cluster scoped handlers were not being cleaned up without
manually writing garbage collection functions.
Solution: All cluster scoped handlers will be recorded in a global map
in a generic format so that they can be removed by a generic function.
Some worload controllers need to watch resoruces in the mangement plane
and react to them. But, they should only react to resources that
correspond to their cluster. This adds framework support for that.