batch() returns err on any null/undef key/value

ref #19

note that the major departure here is that if you omitted either key or value on a batch element it would silent ignore that element; now it's ruthless and won't let you submit an `undefined` or a `null` and I think that's appropriate.