Derive IndexSet iterators from std::iterator with appropriate category.
Derive IndexSet iterators from std::iterator with appropriate category.

This helps make some algorithms more efficient when called with such iterators. It is
apparently also necessary for Visual Studio when calling std::set::insert with a pair
of IndexSet iterators.

naliboff/dealii,EGP-CIG-REU/dealii,pesser/dealii,kalj/dealii,danshapero/dealii,EGP-CIG-REU/dealii,naliboff/dealii,angelrca/dealii,JaeryunYim/dealii,angelrca/dealii,sairajat/dealii,shakirbsm/dealii,EGP-CIG-REU/dealii,kalj/dealii,pesser/dealii,EGP-CIG-REU/dealii,naliboff/dealii,EGP-CIG-REU/dealii,shakirbsm/dealii,danshapero/dealii,naliboff/dealii,pesser/dealii,shakirbsm/dealii,JaeryunYim/dealii,spco/dealii,pesser/dealii,jperryhouts/dealii,JaeryunYim/dealii,jperryhouts/dealii,kalj/dealii,JaeryunYim/dealii,danshapero/dealii,spco/dealii,sairajat/dealii,sairajat/dealii,kalj/dealii,EGP-CIG-REU/dealii,EGP-CIG-REU/dealii,naliboff/dealii,spco/dealii,JaeryunYim/dealii,JaeryunYim/dealii,sairajat/dealii,pesser/dealii,angelrca/dealii,jperryhouts/dealii,shakirbsm/dealii,danshapero/dealii,shakirbsm/dealii,naliboff/dealii,shakirbsm/dealii,kalj/dealii,kalj/dealii,jperryhouts/dealii,spco/dealii,JaeryunYim/dealii,angelrca/dealii,sairajat/dealii,danshapero/dealii,danshapero/dealii,kalj/dealii,jperryhouts/dealii,angelrca/dealii,pesser/dealii,spco/dealii,naliboff/dealii,danshapero/dealii,spco/dealii,jperryhouts/dealii,spco/dealii,sairajat/dealii,sairajat/dealii,angelrca/dealii,shakirbsm/dealii,angelrca/dealii,jperryhouts/dealii,pesser/dealii