fix for initing / seting up preconditioners with adaptivity

This changes the way Preconditioners work.  If people have custom Preconditioners they may need to update their objects to implement setup()

If you want to wait until after the 0.9 release to apply this, that's ok with me.