Changed the way that datasources and params handle NILs.

To better pass defaults around, a param with a key, but a nil
value is treated the same as a missing param.