Allow a jQuery-ish access of lists

That is, all functions that work on nodes now also
work on lists of nodes, but only use the first node in the list.

That makes it possible to say

(dom-attr (dom-by-style elem "foo") :href)

without explicitly `car'-in all the time
Fixup for :date places with multiple events

Don't update anything if we're using the date as the key,
because then multiple events on the same date will be
overwritten.