refactor Preconditioners as ParallelObject
misc other fixes