8 - How to open node preview in a new tab
I was able to create a simple hack with jQuery that works better than I expected. I would prefer to handle it in php though. What I did was when the user hovers over the preview button I manually add and remove the target attribute to the form.

jQuery('#edit-preview').on('mouseover', function(e){
  jQuery('.node-form').attr('target', '_blank');
});
jQuery('#edit-preview').on('mouseout', function(e){
  jQuery('.node-form').removeAttr('target');
});
jQuery('#edit-preview').on('click', function(e){
  jQuery('.node-form').attr('data-drupal-form-submit-last', '');
});


The last part, allows the form to be submitted after launching the preview.  Otherwise, it thinks you are hitting the submit button twice.