Fix possible getaddrinfo leak in rare case.
Revert "Remove support for ! char as the escap ecommand. (Please complain if you are still using this somehow)."

This reverts commit d288af83d6fa158950e4eaad25d5e7049bb752ab.
Merge pull request #220 from sunyc/master

Revert "Remove support for ! char as the escap ecommand.
Remove the mutex protecting tick_event_queue, As 3.0 have no multi-threading planned.
Merge event.cc into backend.cc

Move some VM related stuff into vm package.
Fix crasher in overriding undefined function by inherit.

Fix #221.
Reformat bison grammar file.

Also let bison auto generate grammar report, and enabled bison warning.
Merge pull request #222 from sunyc/master

Continuing code cleanup
Correctly Fix #221

This commit revert 364eb15b0f1efd9a63a3c8bce164c721eb851e47, and fix #223.

The logic should be simply, correctly emitting errors and abort parsing.
I misunderstood it before and attempted to fix the wrong thing.
Merge pull request #224 from sunyc/master

Correctly Fix #221
Run Clang-tidy across codebase.
make lpc socket closeonexec, set send buffer size.

Fix #225
Remove unused runner.cc
Implement million second level gametick loop.

Part of #203, also deleted HEARTBEAT_INTERVAL in options.h
Add two runtime config, gametick msec / heartbeat interval msec.
Adding add_walltime_event, rename add_tick_event to add_game_tickevent.

part of #202
Adding call_out_walltime() efun for walltime delay based callback.

Fix #202.
Accepting float argument for call_out and call_out_walltime.

Allow subsecond scheduling (gametick or millisecond resolution) for call_out.
Fix #203.
Use time_to_gametick / gametick_to_time to simplify code.
Fix compile under m32.
Merge pull request #226 from sunyc/master

Fixed-delay game tick scheduling & call_out_walltime & subsecond call_out