fixes #38 (hadley/rvest/issues/38)

As I wasn't sure if you'd want additional arguments to distinguish between what `i` actually is if it's a `character`, I tried to implement a "trial-and-error" routine that hopefully is extandable.

That's why I came up with that error object as I wanted to avoid nested `if ... else ...` statements for everything that should be tried.