Welsh international James Hook signs for Gloucester Rugby