[MRG] 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()`


`:last` not `::last`