[squashed] fix Issue 313

+PackageExp & ScopeDsymbol::packages
+ok?
+clean
Add test for issue 313
Remove PackageExp
One Package::resolve
+1 for link packages
+OK link packages
+consider static import
fix multiple package hierarchy merging
+1
+function local import + self module access by FQN
+clean & move
+x
fix test
+clean!
Fix access violation
Fix tests
fixup
+fix ScopeDsymbol::search for not prefer FQN.
+code style
+test fix314 (1)
+runnable fix Issue 314

Issues:
- Right now ".object.opEquals(Object, Object)" does not work
- selective import is implicitly static?
issue 314? (now workable)
+selective import
+a
fix std.math.pow importing
Don't push indirectly imported Imports to sds->imports. Instead, lookup 'pkgtree' for leftmost package name search.
Broken tests
Fix template + access check

Delay protection check until it's instantiated
Selective/Renamed import will create aliases (keep backward compatibility)
fix testDIP37.d
Import conflict?