Fixes regression for impyla code that used to use lowering.describe_external

Attempting to construct an `ExternalFunctionDescriptor` was failing due to some details with how `__new__` is used.  I simplified the class to use a regular constructor.  This makes impyla's tests pass.