Initial support for an ANTLR-based Influx DB query parser

The initial grammar only understands these queries:
- list series
- select * from my_series
- select * from "312 _ strange\" name"

Two tests check queries which we expect can be parsed and cannot.

The ANTLR Maven plugin builds the lexer and parser during the
generate-sources phase.

This only a first step and the query is not ready to be merged. The goal is to be able the current regular expression based parser first. Later on (in another PR), we can expand the grammar to support more Influx language constructs.
I would consider refactoring this callback code into a one or possibly multiple ```com.google.common.base.Function```s. There are a few good reasons. First, decomposing it into smaller functions is likely to result in some reusable code. Secondly, it makes the code easier to test. Third, it makes error handling easier.  Suppose we have some code like this,

```FunctionExample.java
ListenableFuture<List<NumericData> future = // call some function
ListenableFuture<List<ResultA> resultAFuture = Futures.transform(future, new FuncA());
ListenableFuture<List<ResultB> resultBFuture = Futures.transform(future, new FuncB());
Futures.addCallback(resultBFuture, new FutureCallback<List<ResultB>>() {
    // callback code...
});
```
Let's say that an exception is throw in FuncA. FuncB will not be called, and the FutureCallback's ```onFailure``` method is invoked. It allow us to centralize the error handling in one place.