Avoid uninitialized var

Complained by coverity
Avoid making 0-sized series

This fixes a regression caused by:

commit 7d090b22250dd9f77521f5cf7d0cfaa75b710742
Author: Shixin Zeng <szeng@atronixengineering.com>
Date:   Mon Sep 15 12:37:14 2014 -0400

    Avoid undefined behavior caused by malloc(0)

    Found by clang-analyzer

Bug reported by kealist@stackoverflow
Do not free port/state

Or memory corruption could happen. Fixes http://issue.cc/r3/2171:

The following code crashes interpreter when it's typed in from the console (i.e. not saving as a script and run from there).

The problem is that:
1. when it first opens the port, an lookup event is emitted and saved in system port
the event struct is like:
typedef struct rebol_event {
    u8 type;        // event id (mouse-move, mouse-button, etc)
    u8 flags;        // special flags
    u8 win;        // window id
    u8 model;        // port, object, gui, callback
    u32 data;        // an x/y position or keycode (raw/decoded)
    union {
        REBREQ *req;    // request (for device events)
        void *ser;        // port or object
    };
} REBEVT;

and the memory "req" refers to comes from port/state (see Use_Port_State in core/c-port.c).

2. when it closes the port the, Free_Port_State is called (see core/p-net.c or p-file.c), which changes port/state to "none". So, from now on, the only reference to "req" comes from the lookup event, which has no way to mark it being used.

3. "recycle" frees memory occupied by "req"

4. the old memory occupied by "req" is reused.

5. "recycle" reaches "req" from the event queue, and tries to mark req->port. As the memory is overwritten, it crashes.

>>repeat n 2 [try [close open open join tcp://localhost: n]]
>>recycle
>>none? file-type? %abc.234
>>recycle
Bump version for 3.1 beta
Merge branch 'atronix' into coverity_scan