Give nicer errors when users ask for '/0000'
Give nicer errors when users ask for '/0000'

I'm not sure why/how someone thought to request /0000 on the public
instance, but they did, and it kicked out a BadKeyError from the
GAE APIs.  Better we show them a 404 not found error than some sort
of server 500 error and make a mess in our logs.

Signed-off-by: Shawn O. Pearce <f3ea74d906fa9fe97c1fef6bad9cb871485c7045@google.com>

zommarin/gerrit,gracefullife/gerrit,skurfuerst/gerrit,duboisf/gerrit,WANdisco/gerrit,WANdisco/gerrit,atdt/gerrit,1yvT0s/gerrit,cjh1/gerrit,TonyChai24/test,makholm/gerrit-ceremony,gerrit-review/gerrit,MerritCR/merrit,gracefullife/gerrit,renchaorevee/gerrit,GerritCodeReview/gerrit,thinkernel/gerrit,1yvT0s/gerrit,catrope/gerrit,duboisf/gerrit,anminhsu/gerrit,midnightradio/gerrit,pkdevbox/gerrit,qtproject/qtqa-gerrit,dwhipstock/gerrit,TonyChai24/test,Overruler/gerrit,makholm/gerrit-ceremony,teamblueridge/gerrit,hdost/gerrit,keerath/gerrit_newssh,joshuawilson/merrit,bpollack/gerrit,hdost/gerrit,GerritCodeReview/gerrit,gcoders/gerrit,qtproject/qtqa-gerrit,dwhipstock/gerrit,makholm/gerrit-ceremony,GerritCodeReview/gerrit-attic,dwhipstock/gerrit,Saulis/gerrit,teamblueridge/gerrit,teamblueridge/gerrit,GerritCodeReview/gerrit-attic,CandyShop/gerrit,GerritCodeReview/gerrit,basilgor/gerrit,makholm/gerrit-ceremony,thinkernel/gerrit,ashang/aaron-gerrit,gerrit-review/gerrit,MerritCR/merrit,cjh1/gerrit,atdt/gerrit,thesamet/gerrit,Overruler/gerrit,renchaorevee/gerrit,supriyantomaftuh/gerrit,atdt/gerrit,Seinlin/gerrit,keerath/gerrit_newssh,thesamet/gerrit,Shrews/PyGerrit,joshuawilson/merrit,dwhipstock/gerrit,hdost/gerrit,jeblair/gerrit,WANdisco/gerrit,Distrotech/gerrit,Team-OctOS/host_gerrit,gcoders/gerrit,basilgor/gerrit,austinchic/Gerrit,thinkernel/gerrit,quyixia/gerrit,quyixia/gerrit,midnightradio/gerrit,zommarin/gerrit,Saulis/gerrit,Seinlin/gerrit,catrope/gerrit,anminhsu/gerrit,bpollack/gerrit,TonyChai24/test,Team-OctOS/host_gerrit,ckamm/gerrit,bootstraponline-archive/gerrit-mirror,MerritCR/merrit,1yvT0s/gerrit,dwhipstock/gerrit,joshuawilson/merrit,renchaorevee/gerrit,gcoders/gerrit,qtproject/qtqa-gerrit,thinkernel/gerrit,netroby/gerrit,MerritCR/merrit,Team-OctOS/host_gerrit,MerritCR/merrit,joshuawilson/merrit,anminhsu/gerrit,renchaorevee/gerrit,m1kah/gerrit-contributions,qtproject/qtqa-gerrit,bootstraponline-archive/gerrit-mirror,joshuawilson/merrit,MerritCR/merrit,thinkernel/gerrit,m1kah/gerrit-contributions,renchaorevee/gerrit,evanchueng/gerrit,m1kah/gerrit-contributions,gracefullife/gerrit,skurfuerst/gerrit,gcoders/gerrit,evanchueng/gerrit,supriyantomaftuh/gerrit,Seinlin/gerrit,WANdisco/gerrit,netroby/gerrit,keerath/gerrit_newssh,gcoders/gerrit,dwhipstock/gerrit,Overruler/gerrit,ashang/aaron-gerrit,keerath/gerrit_newssh,anminhsu/gerrit,evanchueng/gerrit,pkdevbox/gerrit,ckamm/gerrit,Saulis/gerrit,cjh1/gerrit,jeblair/gerrit,qtproject/qtqa-gerrit,quyixia/gerrit,midnightradio/gerrit,Overruler/gerrit,ckamm/gerrit,Distrotech/gerrit,bpollack/gerrit,catrope/gerrit,supriyantomaftuh/gerrit,MerritCR/merrit,1yvT0s/gerrit,hdost/gerrit,jeblair/gerrit,bpollack/gerrit,gerrit-review/gerrit,netroby/gerrit,thesamet/gerrit,pkdevbox/gerrit,Saulis/gerrit,GerritCodeReview/gerrit-attic,austinchic/Gerrit,zommarin/gerrit,quyixia/gerrit,netroby/gerrit,supriyantomaftuh/gerrit,zommarin/gerrit,sudosurootdev/gerrit,TonyChai24/test,GerritCodeReview/gerrit,1yvT0s/gerrit,TonyChai24/test,bootstraponline-archive/gerrit-mirror,ckamm/gerrit,Team-OctOS/host_gerrit,quyixia/gerrit,gerrit-review/gerrit,rtyley/mini-git-server,midnightradio/gerrit,ashang/aaron-gerrit,bootstraponline-archive/gerrit-mirror,hdost/gerrit,Team-OctOS/host_gerrit,hdost/gerrit,TonyChai24/test,dwhipstock/gerrit,gracefullife/gerrit,anminhsu/gerrit,thinkernel/gerrit,Distrotech/gerrit,rtyley/mini-git-server,ashang/aaron-gerrit,Seinlin/gerrit,pkdevbox/gerrit,joshuawilson/merrit,Distrotech/gerrit,pkdevbox/gerrit,GerritCodeReview/gerrit,jackminicloud/test,jackminicloud/test,thinkernel/gerrit,basilgor/gerrit,basilgor/gerrit,sudosurootdev/gerrit,ashang/aaron-gerrit,gcoders/gerrit,Overruler/gerrit,jackminicloud/test,CandyShop/gerrit,Seinlin/gerrit,supriyantomaftuh/gerrit,Team-OctOS/host_gerrit,thesamet/gerrit,Shrews/PyGerrit,gcoders/gerrit,Team-OctOS/host_gerrit,Distrotech/gerrit,GerritCodeReview/gerrit,Saulis/gerrit,Overruler/gerrit,quyixia/gerrit,skurfuerst/gerrit,CandyShop/gerrit,gracefullife/gerrit,bpollack/gerrit,midnightradio/gerrit,Distrotech/gerrit,Shrews/PyGerrit,zommarin/gerrit,WANdisco/gerrit,bootstraponline-archive/gerrit-mirror,netroby/gerrit,qtproject/qtqa-gerrit,sudosurootdev/gerrit,thesamet/gerrit,Seinlin/gerrit,bootstraponline-archive/gerrit-mirror,thesamet/gerrit,teamblueridge/gerrit,duboisf/gerrit,GerritCodeReview/gerrit,pkdevbox/gerrit,MerritCR/merrit,GerritCodeReview/gerrit,qtproject/qtqa-gerrit,atdt/gerrit,CandyShop/gerrit,sudosurootdev/gerrit,TonyChai24/test,cjh1/gerrit,austinchic/Gerrit,gerrit-review/gerrit,jackminicloud/test,renchaorevee/gerrit,m1kah/gerrit-contributions,jackminicloud/test,catrope/gerrit,quyixia/gerrit,basilgor/gerrit,supriyantomaftuh/gerrit,supriyantomaftuh/gerrit,austinchic/Gerrit,gerrit-review/gerrit,Saulis/gerrit,bpollack/gerrit,hdost/gerrit,jackminicloud/test,joshuawilson/merrit,atdt/gerrit,evanchueng/gerrit,pkdevbox/gerrit,keerath/gerrit_newssh,midnightradio/gerrit,anminhsu/gerrit,jackminicloud/test,Distrotech/gerrit,renchaorevee/gerrit,ckamm/gerrit,evanchueng/gerrit,duboisf/gerrit,sudosurootdev/gerrit,anminhsu/gerrit,thesamet/gerrit,WANdisco/gerrit,Shrews/PyGerrit,WANdisco/gerrit,netroby/gerrit,netroby/gerrit,jeblair/gerrit,teamblueridge/gerrit,gerrit-review/gerrit,Seinlin/gerrit,joshuawilson/merrit,CandyShop/gerrit,skurfuerst/gerrit