Separate pc form

Add ability to provide a separate form to be used to form the approximate inverse of A when preconditioning problems.  Only exposed through variational interface for.  Also add section in manual.