looping widgets to organize bootstrap grids

Would each of the columns have the same corresponding bootstrap classes (col-sm-4 col-md-4)? If so, you can just add those classes to the <div> referenced in before_widget, like:

   register_sidebar(array(
    'name' => __('Footer Top', 'roots'),
    'id' => 'footer-top',
    'before_widget' => '<div class="footer_teaser %1$s %2$s col-sm-4 col-md-4">',
    'after_widget' => '</div>',
    'before_title' => '<h3>',
    'after_title' => '</h3>',
   ));

But I may have misunderstood what you’re going for. If you need a different class in each widget, might be simplest to just register two different widget areas with different classes applied.