API performance tweaks regarding apps (bug 956987)

- Re-use categories instead of using a new queryset
- Re-use all_previews cached list
- Don't load translations when loading versions
- Use a simplified serializer everywhere
- Check premium status before returning prices
Fixes tests broken by 8ee06d3
Merge pull request #1624 from diox/simple-apps-in-api-performance

API performance tweaks regarding apps (bug 956987)
has_premium() is a better check, it will check type first (bug 956987)
Add back invalid category check on write
Fix tests following 3dd2f3e