allyresearch: Simplify logic for display of ally research.
allyresearch: Keep showing allied research even while facilities are upgraded.
allyresearch: Also show in the bottom menu, if allies are researching the same as us.
Fix compile error on *BSD systems.

Patch by brad@comstyle.com.
Fixes ticket:3845.
Update autorevision with latest, portable, version from git
Update the mac build's png to 1.5.14.
qtscript: Reduce soft max limit for javascript invocations to 20ms (down from 50ms).
qtscript: Add two new functions related to transporter handling in campaign,
startTransporterEntry(x, y, player) and setTransporterExit(x,y, player).
widgets: Cleanup, replace C-style virtual functions calls with native C++ virtual functions.
qtscript: Rename label() to getObject(), keeping an alias in place for label()
for compatibility. Also adding getObject(x, y) for getting a structure or
feature at given position, and getObject(type, player, id) for getting an object
by its unique ID. This latter form deprecates hackGetObj(). Adds some documentation
for the GROUP label type. Finally makes super cyborgs get DROID_CYBORG droid type
instead of DROID_WEAPON.
Refactor IMD loading code to prepare for WZM format.
Misc cleanup forward ported for intdisplay.cpp
widgets: Queue up clicks, such that all mouse clicks are processed.

The widgRunScreen() still only returns one value, so the effect of some mouse clicks is still lost, but a few less
mouse clicks should be randomly thrown away, now. Only the widget system currently reads the click queue.

Extending KEY_PRESSED, KEY_RELEASED and KEY_PRESSRELEASE with KEY_PRESSRELEASEPRESSRELEASEPRESSPRESSRELEASE didn't
seem like the optimal approach to fix the issue.
widgets: Cleanup, replace remnants of C-style virtual functions calls with native C++ virtual functions.
qtscript: Add DORDER_RECYCLE. Add optional filter parameter to enumLabels().
widget: Try to eat less mouse clicks.

The widgRunScreen() function now returns a std::vector, and the most important mouse clicks (on in-game menus, that
is) are less likely to be ignored.
Update NullBot to latest version.
qtscript: Add new events for mission transporter control. Renaming some old ones,
keeping an alias for the old names for a short while in case someone is using them.
qtscript: Allow setting 'me' with hackChangeMe() to -1, and when 'me' is -1, make that script receive
almost all events unfiltered by player.
Rename incendiary damage to periodical damage. Add separate weapon class,
subclass and damage effect for periodical damage. This closes ticket:3913