fixes bug 785271 - Add admin interface for "add new product"

@rhelmer r?

The way I tested this (apart from a bunch integration tests) was to edit `products.py` and `releases.py` so that, in the moment before calling the relevant stored procedures, it instead raises an exception and I print what it was about to call the stored procedures with. I did this because my middleware is hooked up to the stage DB and I didn't want to create some random junk in there. 

Also, on the Admin interface for `/admin/products/` and `/admin/releases/` there's good opportunity to either explain some of the fields or to make some necessary links to the documentation. What do you think?
I don't understand this check at all. There aren't any releases added yet, how can we add a new release that "doesn't exist yet"? :hear_no_evil: 

I think there's some confusion here - first a "Product" needs to be added (which can have rapid_beta_version and rapid_release_version set but this is Mozilla-specific stuff really) then a set of "Releases" can be added for that product, which is where the versions come in - checking that the product exists in the products table would be reasonable here instead.