up #460
 - use shared_ptr instead of copies
 - add necessary interface for functionspace
 - now pass the velocity/pressure space to OperatorPCD