parser: COMMENT_LIST -> Comments
parser: DISTINCT -> Distinct
parser: select_expression_list -> SelectExpressions
parser: SelectExpressions -> SelectExprs
parser: SQLNode abstraction

Intercoversion support between ast and newast is getting
out of hand. Instead, I'm going to allow Nodes to also
contain newast nodes as their subnodes.
parser: Node.Sub: *Node -> SQLNode
Merge branch 'master' into parser
Fix typo in analyzer.go
Merge branch 'master' into parser
Merge branch 'master' into parser
Reworking the vtctld backend.

Now when we get errors, we keep them and list them,
instead of aborting the entire Serving Graph display.
Also changing the data structures a bit: used to have a map
of shard name -> list of tablets, and an accessor to convert
to a sorted list, now we have the list directly.
Not propagating DDLs any more through filtered replication.
Adding more data in topology serving graph.

Also making vtctld parallelized for serving graph retrieval,
and also only querying the serving graph, not global topology.
Adding display of source tablet to vttablet binlog status.

Also properly handling thread safety within a single binlog player.
Small tweak from review.
Re-organize servenv flags a bit.

Flags are not enabled by default any more, but default
flags are very easy to enable. Next I will re-do the Port one.
VTTablet: Test case for Consolidator
queryservice: fix race in RowcacheInvalidator

There was a race condition between Stop, which would set
evs to nil before run could return, which caused run to
crash-loop.
Instead of Close setting evs to nil, we just wait for run
to exit, and run already sets evs to nil.
Merge branch 'rowcache'
binlog_streamer: bug fix for skipping events

The binlog streamer sometimes reads incomplete events due to a race
between the writer and reader. In such cases, it obtains a new position
but fails to read the corresponding event. If this happens, then a
relaunch skips the event because the last position was already recorded.
In this fix, we separate out what we've seen from what we've
transmitted, and always restart mysqlbinlog based on what we've
transmitted, which is always at a transaction boundary.