Improve Error Message on Cyclic Dependency

See stack trace in http://answers.ros.org/question/138611/attribute-error-when-running-catkin_make/

It's due to a cyclic dependency but doesn't provide the user with any information indicating as such. This change improves the situation by raising an informative RuntimeError in _sort_decorated_packages() where information about exactly which dependencies each of the offending packages have is known.

Also fixes comments and tests for this behavior.

Let me know if any copyright assignment stuff is necessary. I'm cool with it.