avoid recursive query for postgres array types
avoid recursive query for postgres array types

in large databases, pg_types could be huge, and typelem is not
indexed. so instead just assumed they're named like "_#{base_type_name}"
and add the few that don't follow that, to get a singe direct query

Change-Id: I2c70ba5758c2888d113f0d1de159d9ea01f1d84a
Reviewed-on: https://gerrit.instructure.com/68554
Reviewed-by: James Williams  <3a5f4ed991dbfa5c9ef76ad729d240ca12f62180@instructure.com>
Tested-by: Jenkins
Product-Review: Rob Orton <7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@instructure.com>
QA-Review: Rob Orton <7e09c9d3e96378bf549fc283fd6e1e5b7014cc33@instructure.com>

SwinburneOnline/canvas-lms,sfu/canvas-lms,sfu/canvas-lms,fronteerio/canvas-lms,venturehive/canvas-lms,grahamb/canvas-lms,sfu/canvas-lms,fronteerio/canvas-lms,sfu/canvas-lms,grahamb/canvas-lms,redconfetti/canvas-lms,grahamb/canvas-lms,djbender/canvas-lms,SwinburneOnline/canvas-lms,roxolan/canvas-lms,sfu/canvas-lms,venturehive/canvas-lms,venturehive/canvas-lms,HotChalk/canvas-lms,HotChalk/canvas-lms,HotChalk/canvas-lms,SwinburneOnline/canvas-lms,redconfetti/canvas-lms,djbender/canvas-lms,fronteerio/canvas-lms,grahamb/canvas-lms,SwinburneOnline/canvas-lms,roxolan/canvas-lms,venturehive/canvas-lms,sfu/canvas-lms,sfu/canvas-lms,HotChalk/canvas-lms,redconfetti/canvas-lms,djbender/canvas-lms,fronteerio/canvas-lms,djbender/canvas-lms,roxolan/canvas-lms,grahamb/canvas-lms,roxolan/canvas-lms,redconfetti/canvas-lms