optimize ContextExternalTool.find_external_tool

refs CNVS-15408

 * don't do a query that's guaranteed to return nothing
 * use a single query to get all tools for all pertinent contexts

test plan:
 * use an LTI tool
 * it should still work

Change-Id: Ibc7d8ac8cd88fd3f7d806f8f14d90014d969882b
Reviewed-on: https://gerrit.instructure.com/40881
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>
Reviewed-by: Brad Humphrey <brad@instructure.com>
Reviewed-by: Nathan Mills <nathanm@instructure.com>
Product-Review: Cody Cutrer <cody@instructure.com>