[WIP] Support :nth(n), :first, :last pseudo selectors (fixes #842)

~~Known limitation: you cannot write something like `div > p::last > ul::first` because cssselect doesn't support non-terminating pseudo elements~~ This is not true anymore: the latest iteration uses pseudo-classes so you can chain `:first`, `:last` and `:nth()`


I think that it also worths mentioning that css and xpath selectors can be chained, so users can mix css and xpath in a single query. It is already documented, but this looks like a good place to mention it again :)