constraint solver errors: ignore unibuilds

Most people think of package deps in terms of packages, not unibuilds,
but our constraint solver has all these generated "if you're using
foo#os@1.0.0, use foo#web.browser@=1.0.0" constraints. They are just
distracting in errors (which already hide the unibuild part for
clarity) so make sure we don't see them in paths either.

(I could imagine a flag/env var that skips all the removeUnibuild calls
and this special processing, for "gory details" mode.)
parse-stack: don't choke on files with colons

Note: the added '?' to the regexps (which make this non-greedy) are
important! Without them, it'll think that the line numbers are part of
the file name.  (The test would still pass because it will still format
it the same way.)

Fixes #2554.