Feature/query service use jackson

This covers work done on the query service for Europa. Stories included in this work include: 
TA20880: Clean up Query API.
TA20884: Return tags with query results.

Other changes include:
-much refactoring of code (still much to be done)
- Use of Jackson to read/write JSON
- removal of dead code
- and many other fixes

Modifications to API:
- removed grouping
- fixed downsampling
- throw error if '*' is specified in a query tag
- 'emit' was removed and added back again
- added downsampleMultiplier to control number of points retrieved from openTSDB per point requested. This fixes an issue where openTSDB averaging of x-values can result in empty buckets if the desired resolution is specified directly.

If expr is not valid, we'll get an exception from calcFactory.newInstance(expr). That will be propagated up, and the API will return an error status.