Use return value of last filter when multiple filters are registered.

problem 1.
  filter's return value null is ignored if one of following filters returns non-null value;

problem 2.
  if filter returns new object instead of 'jsonLog' argument and following filter exists,
  the returned value is overwritten by value from following filters.
Use selectionArg(query parameter) instead of String concatination.

Puree crashes if output type contains single quote character because of invalid SQL query string.
Merge pull request #18 from zaki50/fix_multiple_filters_issue

Use return value of last filter when multiple filters are registered.
Merge pull request #19 from zaki50/query_parameter

Use selectionArg(query parameter) instead of String concatination.
Update build tools version