SILGen: Fix bug with local function default arguments
If a local function is in generic context but does not capture
any generic parameters, it has a non-generic lowered type.
However we use substitutions from the AST when forming calls to
generic argument generators. In the AST, such local functions
always have generic types regardless of their captures.
As a result we would crash in this case.
Fixes <rdar://problem/33003280>.