refactor(server): better resolve and respond

We'll use the exact same regex used by Bower itself internally to
extract the slug of the package. This way it's more stable than what
we previously had.
Also, standardize responses, using always text/plain with the HTTP
code text.
feat(server): respond with a 404 to non-mapped routes

When doing requests that aren't mapped routes (this is, when
not requesting an package file, we'll simply return a standardized
404 response.
feat(lookup): strictly resolve semver urls only

To a future version we should allow git commit SHAs to be used
as well. Possibly move these rules to separate files.

Closes #7