anv/allocator: Add a BO cache

This cache allows us to easily ensure that we have a unique anv_bo for
each gem handle.  We'll need this in order to support multiple-import of
memory objects and semaphores.

v2 (Jason Ekstrand):
 - Reject BO imports if the size doesn't match the prime fd size as
   reported by lseek().

Change-Id: Id070c0e3495b6e4e90c1038d541dceede06c77e1
Reviewed-by: Chad Versace <chadversary@chromium.org>
2 files changed