Allow overriding of script functions in GScriptDataHolder

Before this change, it was not possible to instantiate a script object from a C++ object and override the same method twice. Added unit tests and confirmed they pass with Lua bindings.
Merge pull request #45 from krisr/develop

Allow overriding of script functions in GScriptDataHolder.
The bug was caused by that, std::map::insert doesn't override the key if it already exists