Faster `remove` by using `filterfalse`, which was added to `compatibility`

Also, a typo (it lied!) was fixed in the documentation of `remove`

By using `filterfalse`, we modify the behavior of `remove` when `None` is
used as the predicate.  Previously, `remove(None, [0, 1, 2])` raised
`TypeError`.  Now it returns `[0]`.  If we want the former, we can add a
check for `None`.
Merge pull request #177 from eriknw/faster_remove

Faster `remove` by using `itertools.filterfalse`, which was added to `compatibility`