added test and code to catch extension errors

* added code and tests to support a custom error_back function to
  capture errors during CEF formatting.  Errors will be passed back
  through the error_back along with a context so that offline debugging
  is possible
* ignore vim swap files
* added test and code to pass in a custom log_factory through the
  syslogconfig object so that an alternate syslog-ish transport can be
  provided