sqlparser: Drop obsolete list vars from GenerateQuery
sqlparser: Introduce LIST_ARG token.
sqlparser: split row & column tuples

Row and column tuples are acquiring different semantic
meanings. This is in preparation to allow lists as
bind vars. We're only going to allow lists for column
tuples. There's not much benefit to supporting list
bind vors for row tuples.
sqlparser: Change WriteArg protocol.

Changing WriteArg to accept the full bind var including ':'.
This way, we won't have to special case list vars that start
with "::".
sqlparser: add LIST_ARG to grammar and AST.
Improve VTGate reconnection logic.
It refreshes endpoints before every connection.
tabletserver: list bind vars support complete

You can now specify a new syntax for queries that
have an IN clause:
select * from t where id in ::list
The corresponding bind variable would be:
{"list": field_types.List([1,2,3])}

- List bind vars are only allowed for IN and NOT IN clauses.
- A bind variable can be a list if and only if
  it's referred as ::list.
- A list must contain at least one value.

For the python client, you need to supply lists using the
field_types.List class. This is because of legacy behavior
where lists were previously encoded as strings.
We should soon change this API to use native lists once we
confirm that no one will be affected by this change.
Merge pull request #111 from youtube/suguwork

Suguwork
Merge pull request #110 from youtube/liguo

Improve VTGate reconnection logic.
Merge branch 'master' into replication