Common: minor additions to Stream and String

+ Stream::WriteByteCount() helper function for writing N bytes of same value.
+ String::WriteCount() for writing string into placeholder of fixed length; if the string is shorter, the remaining bytes are filled with null-terminator character.
* Renamed String::Release() method to String::Free() and made it public to allow user force string buffer deallocation when needed.
Common: introducing Array<T> class
Script: corrected function parameter type
Common: inlined Array's and String's BecomeUnique() method
Refactored GameSetupStruct into GameInfo class
Merge branch 'develop_struct' into develop

Conflicts:
	Common/ac/gamesetupstructbase.cpp
	Common/ac/gamesetupstructbase.h
	Engine/ac/dialog.cpp
	Engine/ac/display.cpp
	Engine/ac/draw.cpp
	Engine/ac/dynamicsprite.cpp
	Engine/ac/global_character.cpp
	Engine/ac/global_debug.cpp
	Engine/ac/guiinv.cpp
	Engine/ac/invwindow.cpp
	Engine/ac/mouse.cpp
	Engine/ac/string.cpp
	Engine/ac/walkablearea.cpp
	Engine/main/game_file.cpp
	Engine/main/game_run.cpp
	Engine/main/game_start.cpp
	Engine/media/video/video.cpp
	Engine/script/script.cpp