Put cvmix_kpp driver into a module

Almost entirely whitespace changes, also fixed some deallocate / nullify
statements in cvmix_messages that were occasionally called with unallocated
pointers (and fixed protex in cvmix_background_drv.F90)