Background
The Android developer console has 3 tabs for publishing the app's apk file: alpha, beta and production, as shown here:

as I recall from one of Google IO lectures, one cool way to check how good is your app before making a 100% scale publishing, is to allow only a percentage of the users to download the app first. I think it's called "staged rollouts" , because you can rollout the publishing in case it had too many problems to be published to all.
My question
- What is exactly the difference between them, especially between Alpha and Beta? 
- Only the production stage is available for people on the play store, right? 
- which one/s allow to publish only to specific people/percentage , and in which way do you do it? 
- which stage allows in-app billing, at least for testing ? I don't get why can't i test it out even before uploading the app. 
- in the percentage method, if I publish a new app version using the same way, will it first update for the people who were lucky enough to install the previous version? 
 
     
     
     
     
     
    