Cleanup and semantic changes

 - reduced duplication a bit, still needs more attention on that front
 - changed siphash to use a null-byte string for consistency with everything else we use siphash for
 - don't write out duplicate consolidated streams when we don't need to
 - don't include flavor ID in the identifier of all metrics
Because sometimes we want to write metrics with names which are different from those in the Ceilometer message (e.g., for instance VCPU and memory allocations).