add internal function mrb_toplevel_run_keep() to keep stack contents; close #2326
Fix invalid array initialize for VS2012
upcoming Visual Studio versions provide `snprintf`
Treat partial hook success '\n' to fix #2361 .

Now it will parse the #2361 code as:
```
module A
end
module B
end
```
instead of
```
module A
end module B
end
```

Conflicts:

	src/parse.y
revert #2368 due to #2369

Conflicts:

	src/parse.y
do not ignore negative characters (e.g. EOF and partial EOF); fix #2361 fix #2369

Conflicts:

	src/parse.y