Updated SerialMesh::stitching_helper to enable stitching on node and edge boundary IDs

This allows us to stitch meshes like in the screenshot.

![node_and_edge_stitching](https://cloud.githubusercontent.com/assets/3017801/3892216/8fbe5bbe-2230-11e4-96fc-6cc8981571c6.png)


Is it possible for the `PointLocator` to return a NULL `Elem` pointer here?   I think it depends on the "out_of_mesh_mode" parameter... Anyway, I'd definitely recommend checking that the returned pointer is not NULL before using it.