Added domain_overlap[QUDA_MAX_DIM] to QudaInvertParam

The preconditioned solver now uses domain_overlap to construct
the source and solution being passed to the inner solve.
Next, need to change the vector r in the outer solve so that
it has the correct Nface value.
Hopefully, fixed preconditioner so that correct field
dimensions are being set
Updated and corrected the extension code.

It looks like the communications are not being initialized.