Requestify getInterfaceType() in Name Only
Requestify getInterfaceType() in Name Only

Make getInterfaceType() call validateDecl on behalf of its clients.  In effect, this makes the interface type behave like a request.  It also means that its clients no longer need to perform a number of undesirable anti-patterns in order to sidestep the bizarre API contract validateDecl has at the moment

In particular, the following things are no longer necessary:

- Checking for a missing interface type then validating
- Validating the interface type then retrieving it
- Validating the interface type then retrieving a derived value

These anti-patterns will be removed in follow-up commits

airspeedswift/swift,glessard/swift,harlanhaskins/swift,harlanhaskins/swift,devincoughlin/swift,rudkx/swift,xwu/swift,allevato/swift,JGiola/swift,karwa/swift,devincoughlin/swift,ahoppen/swift,aschwaighofer/swift,jmgc/swift,parkera/swift,stephentyrone/swift,airspeedswift/swift,gregomni/swift,roambotics/swift,jckarter/swift,harlanhaskins/swift,parkera/swift,karwa/swift,nathawes/swift,ahoppen/swift,karwa/swift,CodaFi/swift,parkera/swift,jmgc/swift,benlangmuir/swift,gregomni/swift,benlangmuir/swift,hooman/swift,xwu/swift,stephentyrone/swift,devincoughlin/swift,benlangmuir/swift,apple/swift,ahoppen/swift,lorentey/swift,devincoughlin/swift,apple/swift,hooman/swift,ahoppen/swift,rudkx/swift,harlanhaskins/swift,airspeedswift/swift,CodaFi/swift,harlanhaskins/swift,jckarter/swift,airspeedswift/swift,gribozavr/swift,airspeedswift/swift,glessard/swift,JGiola/swift,JGiola/swift,gregomni/swift,rudkx/swift,sschiau/swift,xwu/swift,tkremenek/swift,hooman/swift,aschwaighofer/swift,sschiau/swift,roambotics/swift,gregomni/swift,gregomni/swift,apple/swift,roambotics/swift,allevato/swift,aschwaighofer/swift,devincoughlin/swift,hooman/swift,sschiau/swift,CodaFi/swift,jckarter/swift,allevato/swift,jmgc/swift,jmgc/swift,tkremenek/swift,aschwaighofer/swift,atrick/swift,roambotics/swift,roambotics/swift,harlanhaskins/swift,jckarter/swift,JGiola/swift,karwa/swift,karwa/swift,stephentyrone/swift,benlangmuir/swift,gribozavr/swift,allevato/swift,rudkx/swift,aschwaighofer/swift,karwa/swift,allevato/swift,xwu/swift,tkremenek/swift,lorentey/swift,nathawes/swift,tkremenek/swift,glessard/swift,jckarter/swift,jmgc/swift,lorentey/swift,xwu/swift,CodaFi/swift,jckarter/swift,lorentey/swift,lorentey/swift,allevato/swift,CodaFi/swift,lorentey/swift,nathawes/swift,lorentey/swift,glessard/swift,jckarter/swift,nathawes/swift,atrick/swift,jmgc/swift,harlanhaskins/swift,CodaFi/swift,atrick/swift,sschiau/swift,jmgc/swift,parkera/swift,glessard/swift,stephentyrone/swift,sschiau/swift,ahoppen/swift,airspeedswift/swift,xwu/swift,stephentyrone/swift,allevato/swift,nathawes/swift,parkera/swift,benlangmuir/swift,sschiau/swift,stephentyrone/swift,nathawes/swift,xwu/swift,glessard/swift,parkera/swift,gregomni/swift,tkremenek/swift,gribozavr/swift,gribozavr/swift,karwa/swift,apple/swift,parkera/swift,hooman/swift,rudkx/swift,apple/swift,CodaFi/swift,devincoughlin/swift,tkremenek/swift,karwa/swift,nathawes/swift,JGiola/swift,sschiau/swift,atrick/swift,tkremenek/swift,aschwaighofer/swift,apple/swift,hooman/swift,parkera/swift,hooman/swift,sschiau/swift,stephentyrone/swift,gribozavr/swift,atrick/swift,gribozavr/swift,rudkx/swift,gribozavr/swift,devincoughlin/swift,aschwaighofer/swift,devincoughlin/swift,roambotics/swift,lorentey/swift,benlangmuir/swift,atrick/swift,airspeedswift/swift,ahoppen/swift,JGiola/swift,gribozavr/swift