Initial support for an ANTLR-base Influx 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.

Improved syntax tests

* Filter out commented lines in test samples files
* Better reports in case of failure

Influx grammar enhancement

* column definition
* column definition list
* aggregation functions
* aliased columns and series

Influx grammar enhancement

* LIMIT clause

Influx grammar enhancement

* WHERE clause (without regular expression operators)

Influx grammar enhancement

* Group By clause

Added a query type detector

Also, some test code refactoring

Influx grammar enhancement

* Support date, datetime and long datetime expressions

Influx grammar enhancement

* Functions may have multiple arguments
* Function args may be names, numbers, or strings

Influx grammar fix: group by and where may appear in any order

Added log4j config file for tests

Naming changes in test code

Import changes

Revert POM changes

Make diff against master more readable

Added SelectQueryDefinitionsPhase.

This class is a parse tree listener which will define select queries entities: columns, from clause, ... etc.

This commit adds support for column definitions (with a test case).

Rearrange code in new packages

SelectQueryDefinitionsPhase parses FromClause

SelectQueryDefinitionsPhase parses GroupClause

Removed 2 unused classes (parser prototype which should not have been pushed)

SelectQueryDefinitionsPhase parses LimitClause

'time' shouldn't be a formal lexer token.

So that it can be used as an alias, a column name, or a where clause function.
Not only in the group by clause.

Simpler select columns definition

Simplify where clause definition in grammar

Don't allow strings and functions

Support negative numbers as function call arguments and where clause operands

Single lexer token for date, datetime and long datetime.

SelectQueryDefinitionsPhase parses where clause

Use Wildfly BOM in rest-servlet

Add validation rules for Influx queries

Descriptor files cleanup

Turned test class ParserUtil into InfluxQueryParserFactory bean

Also, renamed TimeUnit to InfluxTimeUnit

Use ApplicationScope instead of Singleton

Better error handling: throw QueryParseException

Make IntegerFunctionArgument and DoubleFunctionArgument children of NumberFunctionArgument

Make it easy to convert a value expressed in InfluxTimeUnit to a value expressed in java.lang.TimeUnit

ValidationRulesProducer should produce an immutable list of rules

Check time restriction is actually a range (don't allow "time < y and z > time")

Remove unused imports

Extract query definitions in their own class, rename definitions parser to SelectQueryDefinitionsParser

Encapsulate query validation logic

Make IllegalQueryException a checked exception
Make DateOperand and MomentOperand children of InstantOperand
Added OperandUtils to simplify SimpleTimeRangesOnlyRule
Added missing time range restrictions to SimpleTimeRangesOnlyRule
Added time interval translator
QueryValidator must have a no-arg constructor to be proxyable
InfluxHandler now running with the ANLTR based parser

Temporarily removed "order asc" from InfluxTest as it's no yet supported in the grammar
Add order clause to Influx grammar
Parse order clause in SelectQueryDefinitionsParser

By default, Influx orders desc
Add order clause support to InfluxHandler

Also, fixed an NPE when where clause is not defined
Fix Influx response format

* points are not limited to numbers
* time scale is the same as in rhq metrics
InfluxTest ported to Groovy
Add limit clause support to InfluxHandler
Return BAD_REQUEST status when Influx query is missing
Utility method -> private
No need to create a new instance of the handler for each request to serve
Changed the Influx series path to include tenantId

```java
@Path("/{tenantId}/series")
```

Use new method to list metrics
Refactored InfluxHandler to used chained Listenable futures
Convert anonymous functions to inner class functions
Reformatted method declaration and removed useless final keywords