Parallelize the operation of compute_number_cache().
Parallelize the operation of compute_number_cache().

For these functions, the 3d version calls the 2d version which itself calls the
1d version. These operations can all run concurrently. All three include two
loops each over all cells/quads/lines, so there should be plenty to do to
amortize parallel execution.

The only tricky part is that the quad and hex functions accessed a variable
that was first set by the 1d function (number_cache.n_lines). This may now
no longer be available in time for the 2d/3d functions, and so they
need to compute this information themselves. This is cheap, fortunately.

kalj/dealii,danshapero/dealii,shakirbsm/dealii,kalj/dealii,sairajat/dealii,shakirbsm/dealii,JaeryunYim/dealii,JaeryunYim/dealii,naliboff/dealii,EGP-CIG-REU/dealii,sairajat/dealii,sairajat/dealii,EGP-CIG-REU/dealii,EGP-CIG-REU/dealii,spco/dealii,sairajat/dealii,danshapero/dealii,shakirbsm/dealii,JaeryunYim/dealii,EGP-CIG-REU/dealii,shakirbsm/dealii,naliboff/dealii,EGP-CIG-REU/dealii,naliboff/dealii,sairajat/dealii,spco/dealii,spco/dealii,kalj/dealii,danshapero/dealii,naliboff/dealii,JaeryunYim/dealii,JaeryunYim/dealii,danshapero/dealii,kalj/dealii,kalj/dealii,EGP-CIG-REU/dealii,kalj/dealii,shakirbsm/dealii,JaeryunYim/dealii,naliboff/dealii,sairajat/dealii,shakirbsm/dealii,JaeryunYim/dealii,naliboff/dealii,shakirbsm/dealii,danshapero/dealii,spco/dealii,EGP-CIG-REU/dealii,sairajat/dealii,naliboff/dealii,danshapero/dealii,danshapero/dealii,spco/dealii,spco/dealii,spco/dealii,kalj/dealii