Merge 2.10.x, and PR #3196, to master

The changes in #3196 don't merge trivially to master,
so submitting a eager merge.

The first merge commit is `-Sours`, because both changes in 2.10.x
were backports already on master.

	% export MB=$(git merge-base origin/master origin/2.10.x)

	% git log --graph --oneline $MB...origin/2.10.x
	*   2ad9666 Merge pull request #3166 from skyluc/issue/completion-import-object-7280-210
	|\
	| * 053a274 [nomaster]  Scope completion not returning members provided by imports
	| * eb9f0f7 [nomaster] Adds test cases for scope completion
	| * 3a8796d [nomaster] Test infrastructure for scope completion
	* 38fdd3d Merge pull request #3157 from dotta/backport/2.10.x/si-7915
	* 04df2e4  Corrected range positions created during default args expansion

	% git log master --grep   --oneline
	202cf2c Merge pull request #3136 from dotta/issue/si-7915

	% git merge -s ours origin/2.10.x
	Merge made by the 'ours' strategy.

	% git merge origin/pr/3196
	Auto-merging test/files/neg/applydynamic_sip.check
	CONFLICT (content): Merge conflict in test/files/neg/applydynamic_sip.check
	Auto-merging src/compiler/scala/tools/nsc/typechecker/Typers.scala
	CONFLICT (content): Merge conflict in src/compiler/scala/tools/nsc/typechecker/Typers.scala
	warning: inexact rename detection was skipped due to too many files.
	warning: you may want to set your merge.renamelimit variable to at least 1501 and retry the command.
	Automatic merge failed; fix conflicts and then commit the result.