Make creating container types more explicit

Calling TypeNamespace::Search() has the side effect of actually
creating an instance of a container type (e.g. List<Bar>) if
the conatiner type doesn't exist.  Make this more explicit,
in preparation for just creating container types explicitly and
fixing these misleading semantics.

Bug: 24303749
Test: unittests, clean build of Android passes

Change-Id: Ic7f6e42167fda5d4d462570c8e1ec3a24fd153ec
5 files changed