Refactored cite processing to take advantage of two new unitedstates/citation features - can provide an object of functions for 'replace' to fit common pattern of using different processor per-type, and if the replace callback returns null/undefined then leave the original text in place