use underlay workspaces when calculating topological order

Depends on ros-infrastructure/catkin_pkg#87 being released as 0.1.26.
Should be backported to *Groovy* and *Hydro*.

Note: this patch will significantly increase the time to compute the topological order since all available package.xml files from all underlays must be crawled and parsed.

@tfoote @wjwwood Please review.