OAuth2 provider for Concur

Adding OAuth2 provider for Concur (see http://www.concur.com).
Unfortunately, Concur does not implement the exact OAuth2
specification. It differs in two main points:
* getAccessToken uses a HTTP GET request (instead of HTTP POST as
specified in http://tools.ietf.org/html/rfc6749#section-3.2)
* the access token response is delivered in XML (instead of JSON as
specified in http://tools.ietf.org/html/rfc6749#section-5.1)

For the documentation of Concur’s OAuth2 implementation please refer to
https://developer.concur.com/api-documentation/oauth-20-0/web-flow

In order to implement the bullets above I changed visibility of
`getAccessToken` to protected. This way it can be overridden in the
ConcurProvider.
improve documentation for Concur OAuth2 provider
reusing the logger from the super class

There is a logger already defined on the super class. no need to create
a new logger in ConcurProvider.
Thanks for @jaliss to mention that point
fix indentation

tab was used instead of whitespace chars
remove unnecessary logger.isDebugEnabled gates

slf4s defines the parameter to debug as function: `def debug(msg: =>
String) { ... }`. Scala's call-by-name helps a lot in this matter. We
can avoid the Logger.isDebugEnabled gates as the were common in Java.
adding concur provider to java sample
incorporate code review feedback

Incorporated feedback from code review by @jaliss
* Do not use WS directly, instead use httpService available inside the
OAuth2Client
* Correct exception handling pattern applied. Using `.map{ … } recover
{ case e: => … }`
* Fixed some indentation
* Added ConcurProvider to the default providers
adding concur logo

adding logo for login with the ConcurProvider
correct concatenation of fullName

ensure that full name is concatenated correctly in all cases:
* firstName undefined
* lastName undefined
* any of the names consisting of whitespace string
Get the email address from the Concur user service correctly
mask sensitive information when logging
do not write sensitive information like the access token to the log in plain text. the token is masked.
Merge branch 'master' of https://github.com/anfuerer/securesocial into anfuerer-master

Conflicts:
	module-code/app/securesocial/core/OAuth2Provider.scala
Merge branch 'anfuerer-master'