When resolving methods, use the DeclaredOnly binding flag (the logic assumed we'd only get these)

This was part of the problem with invoking struct .ctors (which would
end up invoking System.ValueType.ctor which, of course, failed).
Use the new TypeMirror.NewInstance() method if we don't find a .ctor