(GH-2873) Reasonable default logdests for master

Commit a1dba44 removed a potentially duplicate log destination when
using `puppet master --compile`, but it also meant that `puppet master
--compile` would default to logging to syslog. This issue revealed other
issues, where running `puppet master --no-daemonize` would log to
syslog, but `puppet master --no-daemonize --verbose` would log to the
console. Inconsistencies like these could lead to very surprising
behavior for users.

This commit refactors the master logging to default to console when the
master is running in the foreground and to syslog when running in the
background. When a log destination is given with '--logdest' the default
log destination is ignored in preference of the explicit log
destination.
I should have done more poking before I made that above comment. The previous code did not invoke `.setup_default` either, which looks like it was an oversight when the individual puppet executables were refactored into applications. In this `else` case should we invoke `.setup_default` instead of presuming syslog? Since `.setup_default` mainly deals with the presence/absence of syslog/eventlog and we don't support masters on Windows this doesn't have a lot of immediate gain that I can see; shall we do this for the sake of consistency?