CTFE: Pointer cast wrong-code bug

This was causing the test suite to fail on Win32 when using
CTFE to do const folding.
Merge pull request #2257 from donc/ctfePointerPaint

CTFE: Pointer cast wrong-code bug
Merge pull request #2036 from 9rnsr/fix10079

Issue 10079 - Builit-in generated opAssign should be pure nothrow @safe on default
Fix issue 313 & 314

- Add package table in each scope, due to check which package/module name is accessible via imports.
- Renamed/Selective imports no longer create aliases for the introduced names.
- Module Scope Operator with fully qualified name no longer works.
  (Change internal access '.object.foo' to 'object.foo')
Fix existing tests and add new ones for import mechanism
fix Issue 313 - [module] Fully qualified names bypass private imports
fix Issue 314 - [module] Static, renamed, and selective imports are always public
+1 for the case in bug 7491
+2
+x
-1
+y
fix compilable/test7491.d
+more better?(stash, but breaks std.cstream)
Delay function conflict check until it's actually called

Note that this is incomplete fix. It should be done in other places:
- AddrExp (&func)
- ...
+fix
fix Issue 10128 - import statement in base class members should be private by default