Straightened reasoning for putting down objects

Putdown was broken in several ways (after refactoring and rewriting it) which were not too obvious. An obsolete check in generating putdown orientations was removed, and a logic error was fixed that prevented the agent from ever trying more than one orientation. Also, the code is now shorter and nicer.