Parent bug

This corrects Cheerio's implementation of `$.fn.parent` according to @farhadi's tests in issue #225 and [the jQuery API documentation on the method](http://api.jquery.com/parent/).

This required changing other Cheerio internals and tests:

- `.val` implementation & `.removeAttr` tests: This code was leveraging [incorrect behavior of the previous implementation that would return a reference to the original Cheerio object](https://github.com/MatthewMueller/cheerio/blob/f866996122c23d883a00e389aebf5802974c3377/lib/api/traversing.js#L14)
- `.clone` tests: This code was leveraging [incorrect behavior of the previous implementation that would return a Cheerio object wrapping the "root" element when the selected elements had no parent](https://github.com/MatthewMueller/cheerio/blob/f866996122c23d883a00e389aebf5802974c3377/lib/api/traversing.js#L12)