Added issue_code_grant/3 and issue_code_grant/4

- Added oauth2:issue_code_grant/3 and oauth2:issue_code_grant/4 because the protocol doesn't do client validation at this step and doesn't require a redirect_uri parameter (See point 4.1.1 in the specification). 
- Added oauth2_backend:get_client_identity/2 to allow getting the client identity without validating the password.
- Added tests for the new issue_code_grant functions.
I'm not sure issue_code_grant/5 is of any issue, but I didn't remove it.