What happens if I open an app during it's background refresh period? If an app running on my iPhone is currently in the process of background refreshing, if I open up the app and bring it to the foreground, what happens to the app and to the background fetch? 

Does the background refresh process keep running until it is complete or times out, or does it stop the process? 
Does it prevent the app from loading until it's background refresh process has completed?
It should keep performing the refresh but it all depends on how the developer coded the app.  As always, there's proper and improper ways to handle a background refresh and the onus is on the developer to ensure they're using the appropriate techniques and API.  

The app should show the most-recent info it has immediately upon opening (assuming, of course, that it was developed with that capability).  The refresh that was ongoing will continue.  Ideally, once the app has been loaded and is ready to interface with the user, it should refresh itself with the latest available data.  If the developer created the app this way, the user might see old data immediately upon opening the app but then the data will change within a few seconds as the new data is presented.