Refactor a bit node selection code, mostly in the socket selection in one place 'extend' logic usage was inverted, deselection of other sockets/nodes was not working properly. Also now make node active when selecting a socket, this makes more sense and makes the NODE_OT_link_viewer macro much more useful (this is the only user of the 'socket select' feature currently, afaics).