Adding loop over elsets while assigning sideset IDs.
Inserting elements into the provide_bcs data structure.

This code currently fails for the plate_hole.inp file which comes from
gmsh.  There are some elements, eg. 6, which are in multiple elsets
(defined in different ways) so we need to handle this situation in a
more general way.

This also means that a single Elem* is insufficient for setting the
sideset IDs via subdomain_IDs, since an Elem can only have a single
subdomain_id.  We also need to be careful with the
assign_subdomain_ids() function for this same reason, so the
subdomain_id of a lower-dimensional element is not set and then
overwriten...