Fix using a file/module/library that has a dot in the name.

Something like: `use Foo.Bar;`
The predefs are now defined in the "core" namespace.
No need to explicitly prefix the "core" namespace.

Like, you had to write "core.print" in order to simply call print.
Guard against redefining a function.

I.e. there is no flipping function overloading and crap.

Note: few functions of the same name are possible as long as they are in different namespaces.