Adds several formatting functions and respective configuration options.

Adds several formatting functions and respective configuration options.

- `pedantic`: End your messages with a `.` or user-specified string
- `capitalize`: Begin your message with a capital letter
- `normalize`: A shortcut for `pedantic: true` and `capitalize: true`
- `formatter`: User-defined function to reformat any message

I *think* these are OK, because while the module must be 100% bunyan-compatible, it *can* be a superset, correct?

My only other concern is `index.js:427` which is a pretty flimsy attempt to detect an object or array converted into JSON.  The alternative is to attempt to `JSON.parse()` it, but that's a fair bit of overhead for a "nice-to-have" feature.

Anyway, if you don't like and/or cannot use these changes, is it possible to at least retain `Logger.prototype._formatMessage` as an "abstract" (empty) function + its invocation, so that I can subclass `Logger`?

tests + docs