build: Added --extend argument to control env

This enables the building of a workspace against an arbitrary realized
catkin devel- or install-space which might not currently be sourced.
This is equivalent to sourcing the setup files in the given directory in
a subshell, building, and then exiting.

- The argument to `--extend` should be a path containing valid catkin
  setup files
- It prints out CMAKE_PREFIX_PATH at the top of the build command
- Calling `--extend` also implicitly enables `--force-cmake`
- Calling `--extend ""` (with an empty string) is invalid and will be
  reported in an error like specifying a path which doesn't exist.