u/json: Implement rule of 5 in JSONNode
`operator=(JSONNode)` and `operator=(JSONNode &&)` conflict with each other
resulting in neither, and particularly the move operator, being usable.
Implement the missing traditional operators instead:
- `JSONNode(const JSONNode&)`,
- `operator=(const JSONNode&)`, and
- `operator=(JSONNode&&)`
Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2426>