catkin_generate_environment: don't overwrite existing .catkin file

- During install step of a catkin package, don't overwrite an existing
  .catkin file
- During a devel build, don't append a semicolon-prefixed source path to
  the .catkin file if the .catkin file is empty. This is related to the
  previous race condition fix which prevented overwriting the .catkin
  file. This should introduce negligible sensitivity to parallel
  invocations of catkin-based CMake builds only if the .catkin file is
  empty. For all other cases, it is still an atomic <4k APPEND write.