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. 
Sorry, but seems we should throw an error here to explain if nil because we should not rely on lint. What do you think?