Benchmark

Added some benchmarks on top of the custom decoders change, and a benchmark to show performance of some of the decoders.

The additional logic introduced in the custom decoders change is incurred once during the construction of a Query.Field object, and that's only once per query result, not once per result row.