[BUGFIX] Fix arguments check in buildConstructorInjectionCode, allow NULL
It was not possible to pass NULL as constructor arguments, because of
the use of isset() instead of array_key_exists().
Also a few other places needed to be changed and some tiny (unrelated)
tweaks were made.