Cache table entry may be null. Let's not assume it's always non-null.

This is done intentionally because we do need correct table index when
resolving external reference. This requires we do need to allocate array
with the same sheet size as the remote document.  But we don't allocate
Table instances for remote sheets that we don't reference, to save
memory.

Change-Id: I27fb6228f0e4558327aa4a04a6bccce8d2f1085f
(cherry picked from commit 3dcfb9a892e528a386bb304e4e00d2fa34b1de25)