Don't take address of zero sized std::vector

MSVS in debug mode asserts an error when then null values is returned
from a zero sized std::vector. So a special case is added to not set a
zero sized array.

Additional testing is added on the Identity transform for these
Set/Get methods.

Change-Id: I8c34ecd6377091f0d2db8f47b56ae619c78c1b39
Merge topic 'FixZeroSizedParametersSet' into next

ab7fc21e Don't take address of zero sized std::vector