Client: assert failure are printed to stdout instead of stderr

I noticed that sometimes (maybe always) fatal errors are printed to stdout, but I think it's more appropriate to print them to stderr. For example, if I do tezos-client sign bytes 0x00 for aaaaaaaaaaaaaa > /dev/null, nothing will be printed, but if I do tezos-client sign bytes 0x00 for aaaaaaaaaaaaaa I will see:

Fatal error:
  "Assert_failure client_keys.ml:237:6"

I know that assert_failures are supposed to never happen, but in reality it's hard to guarantee that. And when they happen, I think it's better to print them to stderr. Note aaaaaaaaaaaaaa alias should be unknown.

P. S. This particular assert failure was reported in #653 (closed). This issue is only about printing to stdout vs stderr.