Test stability

There are a few changes here that should help with test stability. The most notable is that we now restart b2g in setUp. I would like to ultimately make this a command line option, but that will likely require some changes to the Marionette client code.

I have seen something odd where after restarting b2g the cell carrier cannot be found. This might be related to my particular carrier, but worth looking out for. Other changes in this pull will ultimately allow us to remove the per/test_populate.py file and replace it with b2gpopulate, which will require these changes.

I think it would be worthwhile getting a Jenkins build running against this branch, so we can see if it improves stability.