Use encoding instead of iconv and allow objects with url property.

Hello!

Nice little crawler project. :)

I couldn't use this because iconv wouldn't work (easily) on my Debian machine. I suggest changing the iconv dependency to encoding which uses iconv-lite which is both faster and has better compatibility. One can still use iconv with encoding if you feel like.

I also added the option to pass in an object with a url property instead of just a string. This allows the user to pass properties along with the url object that can then later be used when the data is returned. Useful if you need to do something different for each url that has been scraped. I also wrote tests and corrected another test that was for some reason always passed, although it ought to fail.

What do you think? :)