Aggregations: Added pre and post offset to histogram aggregation

Added preOffset and postOffset parameters to the API for the histogram aggregation which work in the same way as in the date histogram

Closes #6605
So I tried doing that and creating a PrePostRounding which extended Rounding, but TimeZoneRounding.Builder expects everything thats returned to be an instance of TimeZoneRounding so would mean changing FactorTimeZoneRounding to accept a Rounding delegate and change the build() method to return Rounding instead of TimeZoneRounding.  Not sure if that makes things too messy?