ulimit: change soft limit only
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