Repository: godot
Issue: When packing a PackedScene into a scene, signals and scripts of that PackedScene are duplicated into the parent scene
Labels: bug,topic:core,confirmed

<!-- Please search existing issues for potential duplicates before filing yours:
https://github.com/godotengine/godot/issues?q=is%3Aissue
-->

**Godot version:**
3.2.3


**OS/device including version:**
Windows 10


**Issue description:**
I was working on a level editor for my game, and I decided to use PackedScenes for the tested levels since scenes are the default format for my original levels.
I also have PackedScenes within those scenes, though. Those are the tiles, hazards, orbs, player, etc. They all obviously have scripts attached to them (except for the regular tiles). And the hazards and orbs' body_entered are connected to themselves (in their own scene) to detect if the player touched them or not.
When I play the level, it shows this error:
```
E 0:01:28.051   connect: Signal 'body_shape_entered' is already connected to given method '_on_Hazard_body_shape_entered' in that object.
  <C++ Error>   Method failed. Returning: ERR_INVALID_PARAMETER
  <C++ Source>  core/object.cpp:1515 @ connect() # I am not even using the connect() method, haha...
  <Stack Trace> CustomLevel.gd:75 @ _on_PlayButton_pressed()
```
It appears to be blaming this line in the CustomLevel node's (The main parent node for all the elements in the level editor) script:
`	get_tree().change_scene_to(GlobalVariables.level) # The variable in a singleton which the CustomLevel node packs into.`

Of course, it isn't crashing or breaking my game, but it is annoying to see this error for _each_ node pop up every time I go to this scene or reload it. The scene would probably also take slightly more time to load due to this error. I would also want to focus on some real issues, too.

This is the code in the CustomLevel script to pack everything (since the CustomLevel node isn't the root node, all the children won't be packed if I don't set the owner to itself):
```
func saveLevel():
	position = Vector2(0,0)
	descendants = get_children() + [UI] # the variable "UI" stands for the UI node of the game which is a child of a CanvasLayer.
	for i in descendants:
		i.owner = self
	GlobalVariables.level.pack(self)

func _on_PlayButton_pressed():
	UI.show()
	saveLevel()
#	ResourceSaver.save("glitchedLevel.tscn", GlobalVariables.level) # I wanted to test what it looked like as a .tscn file
	get_tree().change_scene_to(GlobalVariables.level)
	GlobalVariables.editor = false
	GlobalVariables.editor_playing = true
```
I decided to save it as a .tscn file to see what it looked like and it seemed to have the same signals and scripts as the nodes already have in their source scenes... Hence why it is showing the error. I edited the files to remove those signals and scripts and it still works perfectly... so those extra bytes of data are unnecessary.

I am assuming this might be a core problem and probably can't be fixed with a script? Maybe it can, but with a complicated workaround. I also took a look at `core/object.cpp:1515` but it is just the emit_signal() method which is not helpful, I'm pretty sure since I am not using connect() or emit_signal() in the first place. I am connecting the signals through the editor (in their own scenes)

**Steps to reproduce:**
Have a root Node, then add a child to that Node (Node0 in this case). This second Node will be the parent of all the other nodes. Make one or two nodes the children of this Node. Then make a new scene, make a Node (Node3 in this case), add a script to it. Then connect any signal (it can be a custom signal) to itself in the local scene, then make it print something in _ready() when the node is emitted (just to know if it is working).
Go back to the original scene and instance Node3 to Node0. Add a script to Node0 and make a PackedScene.new() variable like "level". Then in _ready(), put something like this:
```
for i in get_children():
	i.owner = self
level.pack(self)
get_tree().change_scene_to(level)
```
The error will appear.

**Minimal reproduction project:**
[PackedSceneProblem.zip](https://github.com/godotengine/godot/files/6352598/PackedSceneProblem.zip)
(For some reason, this is glitching out (it is printing "hello" every frame even though it is only supposed to be emitted once at _ready(). It might have to do with this bug, but I am not sure.)