The global bucketdisable flag indicates that we are in a low-memory
situation and should avoid allocating buckets. However, in the
allocation path we were checking it before the full bucket cache. Defer
the check so that we have a shot at allocating from the cache.
This came up because allocations from buf_trie_zone must always succeed.
In one scenario, all of the preallocated trie nodes were in the bucket
list, and a new slab allocation could not succeed due to a memory
shortage. The short-circuiting caused an allocation failure which
triggered a panic.