### Godot version

4.0.dev (d0398f62f0)

### System information

Windows 10

### Issue description

`GraphNode` class declares members with conflicting names.  
- `selected` property: https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/scene/gui/graph_node.cpp#L1154
- `selected` signal: https://github.com/godotengine/godot/blob/0daa86d70e7338506c37bee6b6e0c4aba7255d68/scene/gui/graph_node.cpp#L1164

As now signals are truely members of the class, this leads to name colliding in several languages.  
- In GDScript, the signal can't be used as it is treated as a property:
![image](https://user-images.githubusercontent.com/48322356/210059248-edbbd142-5d34-41f0-a3f5-08d4f2e02fc3.png)
- In Kotlin, the generated API code cannot compile as signal and property declarations are conflicting:
```
e: ~\git\godot\modules\kotlin_jvm\kt\godot-library\src\main\kotlin\godot\gen\godot\GraphNode.kt: (53, 14): Conflicting declarations: public final val selected: Signal0, public final var selected: Boolean
e: ~\git\godot\modules\kotlin_jvm\kt\godot-library\src\main\kotlin\godot\gen\godot\GraphNode.kt: (182, 14): Conflicting declarations: public final val selected: Signal0, public final var selected: Boolean
```

### Steps to reproduce

Try to use `selected` signal from GDScript.

### Minimal reproduction project

N/A
if (gn->is_selected()) {
			arrange_entire_graph = false;
		}
	}
	HashMap<StringName, HashSet<StringName>> upper_neighbours;
	HashMap<StringName, Pair<int, int>> port_info;
	Vector2 origin(FLT_MAX, FLT_MAX);
	float gap_v = 100.0f;
	float gap_h = 100.0f;
	for (int i = get_child_count() - 1; i >= 0; i--) {
		GraphNode *gn = Object::cast_to<GraphNode>(get_child(i));
		if (!gn) {
			continue;
		}
		if (gn->is_selected() || arrange_entire_graph) {
			selected_nodes.insert(gn->get_name());
			HashSet<StringName> s;
			for (List<Connection>::Element *E = connections.front(); E; E = E->next()) {
				GraphNode *p_from = Object::cast_to<GraphNode>(node_names[E->get().from]);
				if (E->get().to == gn->get_name() && (p_from->is_selected() || arrange_entire_graph) && E->get().to != E->get().from) {
					if (!s.has(p_from->get_name())) {
						s.insert(p_from->get_name());
					}
					String s_connection = String(p_from->get_name()) + " " + String(E->get().to);
					StringName _connection(s_connection);
					Pair<int, int> ports(E->get().from_port, E->get().to_port);
					if (port_info.has(_connection)) {
						Pair<int, int> p_ports = port_info[_connection];
						if (p_ports.first < ports.first) {
							ports = p_ports;