fix bug in magit-define-command macro, magit-log cannot opened

this fixes two problem.

magit-define-command used `or' for conditional.
if two or more sexp return non-nil, after isn't evaled.

in `magit-display-mode-buffer' macro,
when arg `buffer' buffer does not exist, it return error.
example, if "*magit-log*" buffer was not exist,
"*magit-log*" buffer doesn't open.
Merge pull request #847 from acple/fix-macro-bug

fix bug in magit-define-command macro, magit-log cannot opened