silcd: handle empty LIST command reply

If server has only secret channels the server never sends the LIST command
reply back at all.  Check the number of channels to return after taking
the secret channels out.
silcclient: handle command timeout error correctly

If command which can return a list of entries such as the LIST command
timeouts the cmd->status may be something other than SILC_STATUS_OK,
ie. _LIST_END for example which then means ERROR_CALLBACK won't update
the SILC_STATUS_ERR_TIMEOUT correctly to the cmd context.  This can
crash the application handling the command reply.  Clear the cmd->status
in case the command timedout.