Added 'autoflush' to Catalyst::Log + enabled during setup

The default logger now has an 'autoflush' flag to cause log messages to
be written immediately instead of queued. This is now set to true during
setup so that log messages show up in real time (i.e. when using the
test server).

It is currently turned back off at the end of setup for backward
compatability (specifically for Static::Simple), however, mst has
suggested that we change the API such that plugins like S::S are
responsible for turning off autoflush themselves if they need to.

See in-code comments for more details.
Turn autoflush off via undef instead of 0 for consistency
Catalyst::Log::_log correct return value
Merge remote-tracking branch 'upstream/master'
Back to 0/1 for true/flase setting for autoflush

From IRC:
<ilmari> I'd rather use 0 than undef for false, really
<vanstyn> ok, then I'll change it back... the reason I changed it to
undef was to match existing code, 'abort'
<vanstyn> I generally prefer 0/1 as well, which is why that is what I
started with
API change: autoflush (log) now on by default + unit tests + POD

The new autoflush feature of Catalyst::Log now defaults to true and is
left on. In order to access the old behavior, modules such as
Static::Simple must manually turn it off (i.e. by hooking
setup_finalize, see example in POD).

Also updated logger unit tests, and added a new set of
autoflush-specific tests.

Note: this API change was suggested by mst
Misc tweaks per mst

Log still flushed at the end of setup + Catalyst::Log::_log() returns 1
version 5.90065

Fixed file modes...
fixed merge issues from master