8033718: Inference ignores capture variable as upper bound

Split Types.lowerBound into two methods; fix bugs in inference handling of capture variables.

Reviewed-by: vromero
9 files changed