Major overhaul of the RecordDescriber system

Complete rewrite of the RecordDescriber to make a much more useful
system. See one of the example record describers.