Implementation for "Copy Qualified Name" (#1001257)

This is a first implementation for "Copy Qualified Name". The GUI interacts with ScalaCopyQualifiedNameAction, with extends and eventually delegates to the corresponding Java class. The actual works happens in NamePrinter.

I'm still planning to do some tweaks/changes/feature additions, but I wanted to share this with you early.
And here's a couple of special cases that are correctly handled by the `DeclarationPrinter` but not by this printer:

```
	// bar.Bar.bar(lazySomething: <byname>, f: Function1, t: Tuple2)
	def bar(lazySomething: => String, f: Int => Int, t: (String, Int))
```

Notice that functions are not printed in function syntax (in fact all type parameters are stripped away), by name parameters and tuples as well.