Fixed hooks in SIF\Core, added tick count fix

Fixed missing return values in some ALS hooks.

Added sif_GetTickCountDiff which corrects GetTickCount differences due
to overflow.
Improved container destroy function

Added an optional destroyitems parameter to DestroyContainer which, when
true, will destroy also all the items inside a container.

Also improved the code that destroys items to ensure the code under
OnItemDestroy isn't executed resulting in unnecessary and possibly
problematic calls to RemoveItemFromContainer.
Added missing documentation to ItemArrayData
Added virtual parameter to CreateItem

Similar to virtual containers, this parameter creates an item as a
virtual item which doesn't exist in the game world. When the item is
created, it doesn't call OnItemCreateInWorld (and, in turn, doesn't call
the RemoveItemFromContainer code if you're using SIF\Container) so this
parameter is useful if you're creating items and adding them to a
container immediately.
Fixed a bug with inventory options

Extra list items in the inventory now work properly as the list items
are counted properly.
Fixed bugs with Craft item creation/removal

Added back the calls to RemoveItemFromContainer when ingredient items
are destroyed which prevents possible deletion of other items in the
container due to the timing of the OnItemDestroy callback and the hook
code in Container that automatically removes an item from a container
when it's destroyed.
Added new extension: MultiButton

The MultiButton extension allows linking of multiple buttons so when
they are all pressed at once, or all in sequence, a callback is
triggered. Useful for puzzles that reward well organised teamwork.