[TAV-472] Fix port model overriding stubs.

These were inheriting from the wrong parent for the Input and Output models.
Also move the three stubs into one file as they all need to be overridden at the
same time.
Add note to ReadMe about overriding port models.

These all need to be overridden if the RunPort model is due to inheritance.
Add methods to query a port value's type.

Can be used for both singletons and deep lists.
Add a method to get a port value's size.

Can be used for both singletons and deep lists.
Add protection for value size and type methods.

In case metadata is missing.
Check that index lists are not altered.

There is a potential for the index list to be emptied so need to just be sure we
don't regress here.
Use the new port value methods in the port renderer.
[TAV-473] Get all values from a port.

So we could grab singleton text values and deep anything but not singleton
anything. This fixes that.