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
Etcd will be another implementation, I suggest we can add it later?

2014-12-22 17:02 GMT-08:00 sougou <notifications@github.com>:
>
> In go/vt/tabletserver/customrule/zkcustomrule/zkcustomrule.go
> <https://github.com/youtube/vitess/pull/265#discussion-diff-22199873>:
>
> > @@ -0,0 +1,162 @@
> > +// Copyright 2014, Google Inc. All rights reserved.
> > +// Use of this source code is governed by a BSD-style
> > +// license that can be found in the LICENSE file.
> > +
> > +package zkcustomrule
>
> It looks like we're about to deprecate zk. Will it be possible to switch
> to etcd? @enisoc <https://github.com/enisoc>
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/youtube/vitess/pull/265/files#r22199873>.
>