Fixed 'npm search <packagename>'

The /:name/:version route was catching the /-/all route.  This
caused the search to not work correctly.  Moved the /-/all route
earlier in the code to ensure it would catch the search call first.
Also added unit tests for searching for a package which has been
published previously and a test for searching for a package which
has not been published.