Finding Fair and Efficient Allocations When Valuations Don't Add Up