$map improvements

The `$map` macro now checks if the thing it got is empty. If it is, it just returns null. I wasn't going to put this one in `cl-web-dev`, but its been useful in three projects so far. So, in it goes.