Add doorkeeper / OAuth2 API authentication

This adds the standard "Authorization Code Grant" OAuth2 flow.

See the new section in README.md for details