Merge in changes from groovy into hydro

Updating hydro branch with groovy changes.  As of now there shouldn't be any branch differences.  Previous differences were due to catkin differences, which have not been back ported to groovy.