Misc cleanups

@fosdev Please review and merge!
Following PR has fixes:
1) Meaningful warning message if target doesn't have 'source' method on it.
2) Required top-level 'profile' link in API doc is replaced with 'self'
4) 'undefined method `decorate' for nil:NilClass (NoMethodError)' , when there is no 'name:self' on a transition. Fix for self_transition method.
5) Put back response_headers in API document. 
So yeah, I think we should blow up if it doesn't return from here. 
I'll raise on the next line. At the same time, we wrote lint for a purpose.