Address issue #77 - Remove unnecessary null pointer checks on free()

On POSIX and Windows platforms it is not necessary to do

    if (foo) {
        free(foo);
    }

since it's always safe to do free(foo); even if foo == NULL