allow empty strings as row keys

this was breaking something for user configurable reports if the column you were aggregating by was empty. this changes the behavior from putting empty values in the root namespace to putting them nested with a key of an empty string. i don't know if there are wider implications of this change that will break something I don't understand.