Reducing likelihood of race condition in .catkin marker file

- Uses atomic (<4k write) file(APPEND ...) call to update .catkin marker
  file with less likelihood that parallel catkin processes interfere
  with each-other.
- Only potential for a race condition exists if the .catkin marker file
  has not been created yet. In that case, the tool running the multiple
  instances should check this file and either report the failure in a
  clear way and suggest building again, or simply repair the file,
  itself.