Merge upstream master into modified-doorkeeper

Mainly in order to get token revocation endpoint.