Correct inconsistency in `$.fn.map`

Update Cheerio's `map` method to more closely match jQuery's
implementation.

1. Invoke the specified callback in the context of the element
2. Wrap the returned elements in a Cheerio object
3. Remove `null` and `undefined` when returned by the interator
4. Perform a shallow merge on arrays returned by the iterator

Update the documentation and unit tests to reflect this change.