fix/refactor strong group by tag processing, bucket fallbacks

* clean '=' from 'group by' early on:
 turn the strong tags using '=' into a syntactic sugar that
 helps setting up the datastructure but is no longer visible
 afterwards, simplifying the default query structure and
 logic such as in target.get_graph_info().

 this fixes a bug where 'group by mountpoint=:dfs1' wouldn't do
 the right thing, because the bucket tag key didn't match the real
 tag key

* make sure buckets are unique (bugfix),
  and always have an explicit fallback.
  this makes the code more explicit and we can rely on it elsewhere

* add test cases for build_buckets and
  query parsing for a group by with a strong tag

@thepaul i want to merge this. but it breaks one of your test cases, i wasn't able to figure out yet how/why.