Make get_tok_str support NULL as second param.

As was pointed out on tinycc-devel, many uses of get_tok_str gives as
second parameter the value NULL. However, that pointer was
unconditionally dereferenced in get_tok_ptr. This commit explicitely add
support for thas case.
Create bcheck region for argv and arge argument

For program manipulating argv or arge as pointer with construct such as:

(while *argv++) {
  do_something_with_argv;
}

it is necessary to have argv and arge inside a region. This patch create
regions argv and arge) if main is declared with those parameters.

Conflicts:

	tccgen.c
Fix again GOT32 + PLT32 reloc commit

Fix commit aa561d70119accb59a17f10f9ba69076fb0ab516 by setting
has_plt_entry once the plt has been created, not before.

Conflicts:

	tccelf.c
Fix typo in code added by b018bac9c8
Fix another missing code refactoring.
Addapted commits from tinycc main repository