SI-7449 Fixing Java generic signatures involving value classes

 - Update NeedSigCollector to consider the unboxed value class
 - Only unbox value classes at the top level. List[Val[String]]
   should not be unboxed to `List<String>` in the generic signatures.

This has the nice side effect of avoiding an infinite loop for
self referential value classes like `class Val(a: Seq[A])`.