Federal court: Cities can't punish homeless sleeping on streets if no other option