Allow Methods with Global Names

Allow the tokeniser to rewrite the names of functions that are part of a
struct, even if that name was previously used for a global (stype is
SYM_FUNCTION, not 0). Be a little smarter about how we create new
symbols for struct methods. Perform a find before assuming we need to
add a new symbol name. This also makes a duplicate definition, e.g.
struct MyStruct
{
import static function Dup();
import static function Dup();
};
report the correct error ('MyStruct::Dup' is already defined) instead of
a syntax error because of a -1 symbol (due to the sym.add failing).
Merge pull request #154 from gurok/331_allow_methods_with_global_names

Allow methods with global names