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'