added a space charater between arguments as with others.
fixed the problem in which the call of push_back() is missing when a new combination was found in getValueDistinctAgeAnimalSet().
changed the expected value of test_selectCountTrigger().

The processed value of the test is now based on data
from Zabbix Server, not built-in database. So expected value was
changed.

In Future, we will prepare test zabbix server that returns certain
data set. A similar commit was done in 502bc5fd.
fixed the problem that makes a wrong result when two columns are in GROUP BY section.

The previous version of asura uses only one data to make group.
This patch makes asura take into account the all of specified groups.
To do this easy, we introduce the comparator: ItemGroupPtrComparator,
which compares each item in the group.
added tests for inner join with the indexing mechanism.

Current asura doesn't have a mechanism for calculating
inner join with indexes. So added tests are passed.
(the same code is used for any test)

From now, we will added code to calculate inner join with
indexes.
added one of preparations for efficient calculation of inner join.

Next we will implement SQLTableInnerJoin::prepareJoin(), which
makes indexes for the column taht is used in the condition of
inner join, if needed.
added some structures and code to fill them, which will be used on inner join of the new method.
moved code to caulculate column indexes in the preparation function.

SQLTableInnerJoin::getActiveRow() is called as many as calculation
loops. The code that has to be exected just one time was moved to
prepareJoin(), which is called once.
implemented SQLTableElement::prepareJoin() that mainly gets the ItemDataIndex instance.
added function to define indexes when the test table is created.
implemented indexing mode on inner join calculation.

The time to execute test_test_selectCountTrigger() has been
impoved as

Previous ver.: approx. 11 [sec]
This ver.    : approx. 0.6 [sec]

The above time includes not only the inner join calculation,
but also cutter's boot time, getting data from zabbix server
and so on.
added code to skip the comparison on the inner join in SQLTableInnerJoin::getActiveRow().

In the current inner join algorithm, when SQLTableInnerJoin::getActiveRow()
is called, statisfying the inner join condition is ensured. So we
add code to skip it.

However, significant improvemnt was not found in the simple
measurement of the execution time of test_selectCountTrigger().
fixed wrong consecutive semicolons.
added a new stub function: SQLProcessor::runForExists() as the first step to improve performance of procesing the statement including 'EXISTS'.

This patch is one of the preparations to improve performance for
processing the select statement including 'EXISTS'. The current
implementation calls select() to process the statement in 'EXISTS'_
per every condition check. This executes statemet parsing, making
tables, association of columns and so on many times. As a result,
the performance much degrades.
added a new method: ItemTable::hasIndex().

Some lines uses 'indexVector.empty()' to check if a table has
indexes. Using this function makes the mean of the lines clear.
extracted the first half of select() as SQLProcessor::setupForSelect() to be able to use from runForExists().
added initialzation of FormulaElement::m_selectInfo to avoid illegal behavior including crash.
implemented exists mode that makes processing of the select statment in 'EXIST' block fast.
added indents to the test select statement to make its structure understandable.
added a new function FormulaElement::optimize().

This patch is one of the preparations to optimize the entire formula
to improve performance.