jeffjiang: Add plugin mechanism for custom rule and other configurations

The previous custom query rule is loaded from a local JSON file, this would make large-scale deployment hard especially when you need to change the custom rules in large scale. In this patch, we introduce CfgClient interface and an inheritance of it, the CustomRuleClient, which will make it possible to develop future plugins which enable pulling configurations from clustered storage