Beefed up JsonFormatter: supports delimiting output, format providers, inclusion of rendered message. Fixes #107 and fixes #113.