add setData()/getData()

@harkit I was wrong to remove these earlier, having them means we can __invoke() without params, and just return the Responder for later dispatching
set data on responder and return responder, not response
update tests
Merge pull request #3 from pmjones/master

Allow __invoke() without params