### 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
return r_u.size();
		} break;
		case GraphEdit::UNION: {
			for (const StringName &E : r_v) {
				if (!r_u.has(E)) {
					r_u.insert(E);
				}
			}
			return r_u.size();
		} break;
		default:
			break;
	}
	return -1;
}
HashMap<int, Vector<StringName>> GraphEdit::_layering(const HashSet<StringName> &r_selected_nodes, const HashMap<StringName, HashSet<StringName>> &r_upper_neighbours) {
	HashMap<int, Vector<StringName>> l;
	HashSet<StringName> p = r_selected_nodes, q = r_selected_nodes, u, z;
	int current_layer = 0;
	bool selected = false;
	while (!_set_operations(GraphEdit::IS_EQUAL, q, u)) {
		_set_operations(GraphEdit::DIFFERENCE, p, u);
		for (const StringName &E : p) {
			HashSet<StringName> n = r_upper_neighbours[E];
			if (_set_operations(GraphEdit::IS_SUBSET, n, z)) {
				Vector<StringName> t;
				t.push_back(E);
				if (!l.has(current_layer)) {
					l.insert(current_layer, Vector<StringName>{});
				}