Reimplement ability to customize named formatters
Merge remote-tracking branch 'origin/custom_named_formats'
Prepare for 3.1.0 release