First pass on moving the library to support a non-blocking data-handler trait.

Additional Comments:
All tests passing, but probably needs a closer inspection particularly on some of the grants that throw exceptions as I don't believe those are currently being tested for each exception type.
update README for how to create your trait
Refactoring and add test case #18
Merge branch 'master' into lifeway-master

Conflicts:
	scala-oauth2-core/src/main/scala/scalaoauth2/provider/GrantHandler.scala
Merge branch 'lifeway-master'
fix description
add OAuth2Provider customize supporting grant types
improve error messages
add description for DataHandler with Future
enhance validating to parse Authentication header
testing for scala 2.10.x and 2.11.x on travis
Merge remote-tracking branch 'nulab/master'