Prevent 500 errors if a listing id does not exist

Currently if a user tries to access a page that references a listing that does not exist in the datastore a server error occurs (due to null pointer exception).  This will instead return a 404 not found response if the listing does not exist.

Addresses this card: https://www.agileplannerapp.com/boards/187120/cards/8149