Why:
Non-admin users shouldn't be able to access, or know of the existence
of a non-published Budget.
How:
Raising an ActionController::RoutingError (404 error) to simulate the
same behaviour as accesing a non-existing Budget.
We could have used CanCanCan abilities for this but then an user could
be aware of existing but not published Budgets by trying different urls