Fix upsell in AppSerializer and es_app_to_dict (bug 956820)

- Don't return upsell if in an excluded region
- Don't return upsell if it's not a public app
- Add tests