Make LHN opening not depend on current open/closed state.

There are several cases in the code where an LHN object menu needs to be opened, and they were doing it different ways, and sometimes clicking on the object type even if it was already open.  This factors out the repeated code and ensures that the process ends with the object opened regardless of its current state.