Replaced every use of lua_call with RunScriptOnStack.  Modified RunScriptOnStack to report an error to log and system message using a passed in context string.  Modified every use of RunScriptOnStack to avoid crashing so that the reported error can be seen.
Made Screen not go to next screen if the screen name is empty.
Changed many uses of Dialog::OK and LOG->Warn to use ReportScriptError.
Rewrote ScreenSystemOverlay overlay/default.lua to be able to display multiple messages.  Added Reload Overlay Screens option to debug menu.
Moved error reporting to ScreenSystemLayer error.lua.  ScreenSystemLayer overlay/default.lua restored to previous.  Error messages are now broadcast with the ScriptError message instead of SystemMessage.  Added show/hide error messages toggle and clear error messages to debug menu.  Nuked ScreenConsoleOverlay for being unfinished and duplicating ScreenSystemLayer.  Changed Actor:tween and Tween::CreateFromStack to use ReportScriptError on invalid tween params.  Changed some OptionRowList things to use ReportScriptError on invalid metrics.
Changed many places that used RageException to use ReportScriptError instead.  Wrote ScreenOptionsExample.ini as documentation example for the OptionRow system.  Rewrote gamecommands.txt to include all GameCommands.  Fixed Commands::GetOriginalCommandString to insert the semicolons that separated the original commands.  Changed nonsensical boolean |= true statements in GameCommand.cpp to just use =.  Added protection to ReportScriptError to keep it from recursing through itself when an error occurs in error reporting.  Added UseAbort option to ReportScriptError for places that want to use an AbortRetryIgnore dialog to query the user.  Added ScriptErrorMessage for places that need to handle the warning/dialog part separately.  Added logging flag to MESSAGEMAN so that all messages broadcast can be logged when desired.  Changed OptionRowHandler::LoadInternal to return a boolean success value as part of error handling.
Changed many parts of GameCommand to improve error reporting.  Fixed GameCommand setpref to not set when loading the command.  Minor fix to ScreenOptionsExample.ini to explain that SongInCurrentSongGroup is unusable.  CommonMetrics, CourseContentsList, HoldJudgent, OptionRowHandler all have minor changes to fix crashes on malformed theme data.
ActorUtil::ResolvePath updated for error reporting.  Changed BitmapText to work with either a font name or a path.  ThemeManager::GetPathInfoRaw fixed to use correct error dialog.  ThemeManager::GetPathInfo fixed to report correct error for missing theme elements.
Changed NoteSkinManager to use new error reporting and avoid crashing.  Fixed DoChangeTheme to switch to the InitialScreen if the screen doesn't exist in the theme being changed to.  Fixed error reporting in MeterDisplay.
Tested and fixed error reporting for NoteSkinManager.  Changed Sprite::Sprite() to load the default texture.
new mkrelease script for OS X

This commit does a few things:
1. includes a new mkrelease script for OS X devs to bundle releases with
2. removes the old Perl scripts that sort of accomplished the same task
3. includes a README documenting how to use the new script

The old scripts were brittle and inefficient.

The new script is written in Ruby because it is what I'm familiar with and because OS X has shipped with Ruby since version 10.5.0.
Merge pull request #229 from dguzek/mkrelease

new mkrelease script for OS X
Readded increment_version.pl because it's actually needed for building on OSX.
Created Def.LogDisplay for displaying messages in a log.  Changed error reporting layer to use Def.LogDisplay.  Changed engine error reporting to not clip errors to a single line.
Added Common Error font for use by error reporting so that themes that replace Common Normal won't have a problem.
Merge pull request #218 from kyzentun/ErrorReporting

Better Lua Error Reporting
Changed ArbitrarySpeedMods to use a large increment that is not forced to be a multiple of the smaller increment.
Changed NoteSkinManager::LoadActor to always return a Sprite on failure because some elements must be a sprite.
add SOUND:IsTimingDelayed method and fixed SOUND:PlayMusicPart

PlayMusicPart does not immediately start the new music. IsTimingDelayed
will return true until the new music has started.

The "applyRate" argument of PlayMusicPart was being applied to the
"align_beat" property. Added an additional argument to for "align_beat"
and made "applyRate" work properly.
Merge pull request #230 from sigatrev/GameSoundManager

add SOUND:IsTimingDelayed method and fixed SOUND:PlayMusicPart