Win32: Use ;; to work around VC++ parser bug

When Visual Studio 2013 attempts to compile a C99 file (*not* C++), the
parser chokes whenever it encounters a variable declaration directly
after an if statement that lacks braces, when the type of that variable
declaration is either const or a typedef.

For example, if you try compile the following code:

    if (count < 1)
        return;
    size_t len = 0;

you will see this error message:

    error C2275: 'size_t' : illegal use of this type as an expression

In contrast, the following compiles successfully:

    if (count < 1)
        return;
    int len = 0;

In the first case, size_t is a typedef, and the parser seems to lack the
context information during the parsing process to identify it as a type,
and instead mistakes it for part of an expression. It's intetresting to
note that this problem does not occur after for or while loops.

There are three possible solutions to this:

1. Always declare variables at the start of a given scope (C89-style)
2. Put braces around the if body
3. Add a second semicolon to the end of the if body

Of these three, the last is the least intrusive (in terms of code
changes), and allows us to continue using single-line, no-brace bodies
for if statements. In total, there are currently 152 cases throughout
the codebase where this change has been made. The first example above
would now be written as:

    if (count < 1)
        return;;
    size_t len = 0;

VS 2013 is the first version to claim support for C99 (yes, really).
Hopefully in VS 2014 this problem will be fixed, and we can go back to
using single semicolons, as has worked fine in gcc & clang for many
years.