Extend manipulation methods to accept Arrays

The jQuery API supports specifying an Array of DOM nodes when invoking
the following functions: `$.fn.append`, `$.fn.prepend`, `$.fn.after`,
`$.fn.before`, and `$.fn.replaceWith`. Update the Cheerio API to match.

- http://api.jquery.com/append/
- http://api.jquery.com/prepend/
- http://api.jquery.com/after/
- http://api.jquery.com/before/
- http://api.jquery.com/replaceWith/
Merge pull request #257 from jugglinmike/arrays

Extend manipulation methods to accept Arrays
Refactor Cheerio array creation

Because so many of jQuery's methods accept "mixed" arrays, the array
normalization logic should be abstracted into a function that is shared
across the manipulation methods.

This approach is also slightly more efficient because it eliminates a
conditional in the heavily-used `evaluate` method.
Merge pull request #258 from jugglinmike/array-refactor

Refactor Cheerio array creation