address zsh chpwd weirdness

according to:

https://github.com/ros/catkin/pull/613/files
[style] colorize the status bar preamble
refactored generation of non-merged devel setup.sh

Differences:
- The first source does not get --extend
- The recursive run depends of the leaf
  packages are also sourced
- All built packages are sourced, even when only
  a subset of the workspace was just rebuilt