Don't exclude sources because of different prefix parsers.

The current policy is too disruptive. Any source could break all other
sources because it wants to implement its own prefix parser. But there
is no point in excluding, say, words in current or all buffers,
yasnippet, etc.

This patch implements a simple heuristic: accept all sources with the
same prefix length as the first (non nil) one. This is instead of the
current logic: accept all sources with the same prefix parser as the
first (non nil) one.

This works better in many cases as a parser which *sometimes* requires
a different prefix because of a more specialized understanding of the
language will not *always* inhibit every other source.