Making the DataDrivenFixture more flexible and reliable

Fixes the issue where you have to define every function argument in the
dataset even when you have already set defaults on the function.
By extension, this change allows for you to set defaults on the given
data driven test function.

Change-Id: I9cd7aa322085620c809244549b5f72257752acac