Slight adjoints_ex3 generalization
Add semilocal_elements iterators
Add "face-local" element iterators

This covers enough ghost elements for most purposes, doesn't require
expensive set construction like a node-local (semilocal) element
iterator does, and works without (broken on subdivision triangles,
expensive everywhere) inverse_map() to test node locations.
Fix simple homogeneous constraint communication

This turns out to be the underlying bug behind the adjoints_ex3
regression when we parallelized constraint computation on SerialMesh.

This diff is also likely to fix some parallel heterogeneous Dirichlet
adjoint boundary condition cases or some parallel hp refinement cases,
but nothing I've managed to trigger yet.
Merge pull request #364 from libMesh/semilocal_elements

Build dof constraints on semilocal elements