Make check for non-existant channel more correct

Currently, this doesn't change anything; all channels start with '#'.
However, when pull #107 (Improve irc-msg support for multiple
connections) lands we want to accept, e.g., '0' as a valid user name.
So we should actually be checking if the value is defined, rather than
if it's not falsy.  Perhaps we should also exclude empty strings,
spaces, etc., as valid user names/channels.
Fix a leak.

Also add the CALLER_OWN annotation to the owl_zephyr_dotfile method.