added missing basic OAuth2 endpoints to endpoints.go
added util functions to create a 'Basic' token from client id and secret to use in OAuth2 requests
added util functions to prefix 'Bearer' and 'Bot' tokens to util.go for consistency
added methods to check token type on Session in structs.go placed errors for them with other
errors in restapi.go
modified RequestWithBucketID in restapi.go to check if data is of type url.Values and if so format and send data as content-type x-form-urlencoded to address Discord's pedantic adherence to OAuth2 spec
moved current oauth2.go and oauth2_test.go to applications.go and applications_test.go in keeping with their main focus
added oauth2.go with basic OAuth2 types and methods
added ability to preform OAuth2 operations to Session when Session has been created with a 'Basic' token using client id and secret in oauth2.go
added ability to retrieve the current token's authorization info for Session's created with 'Bearer' or 'Bot' tokens
Adds support for Discord's OAuth2 token api.
closes #1534