Dynamic query rule support for vttablet

A few changes in this patch:

1. QueryRuleSources top level framework to manage dynamic query rule sources
    - Pluggable machanism for new dynamic query rule implementations
    - Complete decouple of query rule management and query service
2. File based and Zookeeper based dynamic custom rule support
3. Unit and site tests for dynamic query rule machanisms
I think you can make this non-public. Any harm in changing the string also to "KeyrangeQueryRules"? It may look better.