Better handle applications that use deleted carts

In RestApplication#initialize, raise an UnfulfilledRequirementException
exception in the contingency that the application requires a feature that
is not provided by any cartridge, as can happen if a cartridge on which the
application depends is uninstalled.

In ApplicationsController#show, rescue UnfulfilledRequirementException
exceptions by reporting the problem to the client.

Previously, the user would get a generic "The server did not respond
correctly" message, and a backtrace would be logged.

This commit fixes bug 993440.