halfway decent refactor of BaseFormatField
take advantage of new formatter setters to properly set default formatspecs
s/start/begin
records start out as 'begin' status by default
fix a bug in formatter
add begin event support in SensibleSink and SensibleLogger