Parallel condense

This implements ConstraintMatrix::condense that works with parallel vectors. We need a ghosted input and a non-ghosted output vector to make this work.

This based on the work by Alexander Grayver, see https://groups.google.com/forum/?fromgroups=#!topic/dealii/3A1Yg5XmpYs