Fix zip export

It was broken since 67587450e47fb0d9bd2753edc2a04c5b9f93951c;

* If zip command was not found, subprocess.Popen() will raise an
  exception and the fallback path will not be reached. The old code
  worked because os.system() will just return a non-zero return status.
* If zip command was found, the call will also fail because --out does
  not do what I probably thought it does!
Cleanups: Minor simplifications in User API code
API: Add filtering by code to LanguageResource

This allows to use the Pootle API to check if a given language code returns
any match, and thus to test if some language exists.
API: Include a proper backlink in ProjectResource

Necessary for Pootle-Solas integration.

always_return_data indicates that all HTTP methods (except DELETE) should
return a serialized form of the data.
API: Allow superusers to see all UserResource objects

This will keep hiding certain fields for all the UserResources that don't
belong to the user making the query, thus providing a certain level of
security.
API: Allow to GET UserResource lists in specific cases

Do not show any object when performing a GET request unless an exact filter
on 'username' is provided.

This allows to keep a restricted control on what the API UserResource exposes
to the outside, while making it possible for certain users (superusers) to
check if a given user exists using the Pootle API.
API: Send password reset email when creating new user

This uses a custom template in order to use a different email message for the
users whose account was automatically created using the Pootle API.
Add management command for assigning permissions

This command allows to set permissions for any user on any project, language
or translation project.
Add extension action for sending translations back to Trommons