Add documentation for canvas middleware
improve middleware explanation
use exceptions for missing signed_request
refactor check for permissions to use exception when some is missing
add canvas app docs in main readme