introduce ExpandedNodeID struct

This is only a draft. Please comment.
The only difference between nodeId and extendednodeid is serialization where nodeid never write namespace uri and server.
might me missing som operators but it compiles and runs fine
> > +  struct ExpandedNodeID : public NodeID
> > +  {
> > +    using NodeID::NodeID;
> > +  };
> >
>
> Looks like a hack. :)

No it is a good start :-) afterward we can move code in here....if we need

>
> We need generate all types! :)

I agree with auto generation! But we should really try to reuse code from
the C guys !

>
> ReadValueID is required also NodeID instead of ExpandedNodeID - this may
be cause of the problem.
> Did you run unittests?

Only test-highlevel.py and against external so it should be no problem

>.
> I really don't like inheritance here. It is better to aggregate node id
here and remove namespace uri from node id..

Extandednodeid is a nodeid "extended" so inheritance really sounds like a
good fit!