Only enable cacheSources if both the datasource + model agree on it.

This prevents models from flipping cacheSources on when the datasource
has it disabled already.

Refs #2364