Added many more checks for consistency in the routines that compute photoreceptor parameters.

It is now harder to do something stupid, such as specify a nomogram for absorbance and then pass absorbance directly, thus ignoring the nomogram that you specified.

And, the returned structure is more informative about what was computed and what was supplied.

I checked that none of these changes break test routines within the PTB.   But if you were cleverly overriding values set by DefaultPhotoreceptors, you may now need to explictly set some sources to 'None' or some values to the empty matrix.  The error messages should be moderately informative about how to go about this, and there are some examples of this being done in CIEConeFundamentalsTest (where such changes were made.)

Signed-off-by: David Brainard <brainard@psych.upenn.edu>